Feijão acionado por mensagem com a fila de mensagens Java para baixo
-
20-09-2019 - |
Pergunta
Eu tenho o seguinte problema de implantação do meu aplicativo.
Ele usa JMS e um OpenMQ remoto para comunicação entre servidores. O problema é que a conexão não é totalmente confiável, para que possa estar para cima ou para baixo. Para reconectar, defina a propriedade JMS Reconect Glassfish, para que ele se reconecte se, em algum momento, a conexão se perder. O problema surge quando tento implantar o aplicativo e não há conexão. Parece que continua novamente repetindo a conexão, mas o aplicativo não termina a implantação até que a conexão esteja disponível.
É possível configurá -lo de alguma forma que a implantação continue, mesmo que não haja conexão e continue novamente repetindo até que haja conexão disponível?
Muito obrigado.
Editar: Estou tentando executar a inicialização do MDB em um encadeamento diferente. Eu tentei os dois
Estou tentando atribuir um tópico diferente ao MDB por duas maneiras de mudar Sun-ejb.jar.xml
<bean-pool>
<steady-pool-size>1</steady-pool-size>
<resize-quantity>1</resize-quantity>
<max-pool-size>1</max-pool-size>
<pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
</bean-pool>
e também com
<use-thread-pool-id>a-new-thread-pool</use-thread-pool-id>
Mas eu não tive sorte. Parece que está esperando que esse tópico termine, pois parece que está recebendo o novo tópico, mas espera que esse tópico termine para terminar o aplicativo inicial, portanto, no meu caso, o aplicativo não é implantado corretamente.
Editar 2 Eu tentei executar o serviço JMS em um tópico diferente também ...
asadmin create-resource-adapter-config --threadpools a-new-thread-pool jmsra
Sem sorte também.
Solução
Com o provedor JMS padrão de Glassfish, isso é impossível. Eu finalmente consegui fazer isso mudando o adaptador JCA para
Outras dicas
Você pode pensar em gerar um encadeamento separado que se conecta ao JMS, de modo que os principais aplicativos continuem funcionando sem serem bloqueados.