Eu tenho um grande número de serviços e um conjunto principal de serviços que devem ser carregados primeiro para que estejam disponíveis quando os outros serviços forem carregados.
O Wildfly tem uma ordem específica (por exemplo, alfabética, com base no nome do arquivo) que usa ao fazer implantações? Ou existe uma maneira de configurar isso?
Tentamos adicionar código para tentar novamente as conexões se os outros serviços ainda não estiverem prontos, mas isso envolvia threads e, às vezes, os threads não eram encerrados corretamente quando a implantação do material era cancelada.
Algumas coisas que não funcionam para mim:
- É possívelcontrolar a ordem de implantação dos módulos (ejb's, war's, etc...) dentro de um .ear, mas estou interessado em controlar a ordem das implantações .ear.
- Um .ear pode ser definido como uma dependência de outro .ear, mas nossos serviços são implantados em diversas regiões. Temos serviceA-regionA-1.0.0.ear, serviceA-regionB-1.0.0.ear, etc... Seria uma grande dor ter que especificar todos esses nomes de ouvido.
Responder1
Wildfly (desde AS7) tenta fazer implantações paralelas para acelerar o processo. Se você quiser fazer uma implantação sequencial, poderá fornecer dependências de cada implantação em outra (como os links fornecidos na pergunta).
Alternativamente, você pode usar o Management CLI para ordenar seu cronograma de implantação, usando os recursos do Lote para garantir que suas implantações ocorram na ordem do script e se pelo menos um dos comandos ou operações falhar, todos os outros comandos e operações executados com sucesso no lote são revertidos.
Veja também: