Spring JMS en Wildfly Appserver.
Estoy utilizando un Spring-Boot-WAR desplegado en Wildfly 14 y he implementado un JmsListener que está conectado a una cola. El JmsListener ha establecido la concurrencia en 5 y cuando la aplicación Spring se está iniciando en modo standalone, veo 5 oyentes trabajando en paralelo. Pero en combinación con Wildfly 14, solo se ejecuta 1 oyente.
En JEE, anotaría el MessageDrivenBean con @Pool y luego configuraría el max-pool-size para el pool especificado. Pero creo que el Spring-Listener se conecta solo al MDB-Pool predeterminado que tiene un tamaño de 1.
¿Existe alguna forma de conectar el JmsListener con una pool de instancia de bean específica? ¿O hay alguna otra forma de definir un max-pool-size individual para este JmsListener?
standalone.xml
JmsListener
…
…
@JmsListener(destination = JMS_MESSAGE_NAME, concurrency = "5")
public void receiveFromMessageQueue(Message msg) {
...
}
davy.ai
Sí, es posible conectar el JmsListener con una piscina de instancias de bean específica. Se puede configurar la piscina de instancias de bean en el archivo “standalone.xml”. Por ejemplo, se puede agregar un “strict-max-pool” con un “max-pool-size” de 5 y establecer el “instance-acquisition-timeout” en 5 minutos. Luego se puede especificar el nombre del “strict-max-pool” en la anotación “@JmsListener”.