Se puede agregar una dependencia Maven sólo después de unos a otros se ha cargado?

AnonymousAlias:

Estoy importando un frasco a través de la dependencia maven, el frasco se ejecuta un bucle infinito. Quiero resolver algunas otras dependencias totalmente primero antes de cargar el frasco.

Quiero cargar

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Esperar hasta que reciba en mis registros

Exposing 2 endpoint(s) beneath base path '/actuator'
Tomcat started on port(s): 1339 (http) with context path ''

A continuación, cargue mi dependencia frasco.

Lo que pasa es que empezó a cargarlos dependencias continuación, se ve atrapado en un bucle infinito en el frasco y no completa.

Gracias

Marcos Bramnik:

El frasco no se ejecuta un bucle infinito, el frasco es un montón de fuentes binarias (y posiblemente de los recursos, como jsons, archivos de propiedades, XMLs, etc.) en el interior del artefacto.

Así que el trabajo de maven como una herramienta de construcción es preparar el artefacto. Una vez que el artefacto se construye el experto se hace, no se puede influir / alter cosas más.

Ahora, ya que tiene un marco de tiempo de ejecución como la primavera - que puede ejecutar algunos granos dentro de los frascos en condiciones:

  • Cargar el grano de una manera perezosa (sólo cuando el método del bean será llamado primero)
  • Ejecutar métodos de granos de forma asincrónica (mediante el uso de @Asyncanotación)
  • Cargar granos solamente cuando se especifica algún perfil (u otra condición como la propiedad).

Todas estas son las maneras de personalizar el comportamiento de la aplicación en el tiempo de ejecución con la ayuda de la primavera, pero de nuevo, técnicamente experto no tiene nada que hacer aquí.

Así que con el fin de

evitar bucle infinito dentro del tarro

Usted puede averiguar qué causa exactamente el frijol bucle infinito (de nuevo, no es un 'tarro' en general, su poco de frijol específica)

Uso @Asyncanotación o definir su propio grupo de subprocesos y ejecutar el método del grano que hace que el bucle de allí ( @Asynces más manera de primavera-ish para hacerlo)

En cualquier caso, si se carga el grano de la primavera, tiene un hilo para poblar el contexto de aplicación (que es para cargar todo el mecanismo de inyección de frijoles y el uso de dependencia). Así que si este tema se atasca debido a alguna causa frijol bucle infinito durante su inicialización (constructor o después de la construcción del método) - toda la aplicación será atrapado.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=279576&siteId=1
Recomendado
Clasificación