Tengo una gran cantidad de servicios y un conjunto principal de servicios que se espera que se carguen primero para que estén disponibles cuando se carguen los demás servicios.
¿Tiene Wildfly un orden específico (por ejemplo, alfabético, basado en el nombre del archivo) que utiliza al realizar implementaciones? ¿O hay alguna manera de configurar esto?
Hemos intentado agregar código para reintentar las conexiones si los otros servicios aún no están listos, pero eso involucraba subprocesos y, a veces, los subprocesos no terminaban correctamente cuando se anulaba la implementación.
Algunas cosas que no me funcionan:
- Es posiblecontrolar el orden de despliegue de los módulos (ejb, war, etc.) dentro de un .ear, pero me interesa controlar el orden de las implementaciones de .ear.
- Un .ear se puede configurar como una dependencia de otro .ear, pero nuestros servicios se implementan en una variedad de regiones. Tenemos serviceA-regionA-1.0.0.ear, serviceA-regionB-1.0.0.ear, etc... Sería una gran molestia tener que especificar todos esos nombres de oído.
Respuesta1
Wildfly (desde AS7) intenta realizar implementaciones paralelas para acelerar el proceso; si desea realizar una implementación secuencial, puede proporcionar dependencias de cada implementación entre sí (como los enlaces que proporcionó en la pregunta).
Alternativamente, puede usar la CLI de administración para ordenar su programación de implementación, usando las funciones por lotes para garantizar que las implementaciones se realicen en el orden programado y, si al menos uno de los comandos u operaciones falla, todos los demás comandos y operaciones ejecutados exitosamente en el lotes se revierten.
Ver también: