J'ai une application Web qui exécute des tâches de traitement de texte en arrière-plan une fois qu'un message est reçu sur un ActiveMQ qui est écouté par un Spring MessageListener .... le problème que je rencontre est qu'une fois que je traite environ 30 jobs d'arrière-plan ActiveMQ arrête de traiter tous les messages, l'écouteur de message Spring perd sa connexion JMS et parfois j'obtiens une erreur dans le journal ActiveMQ indiquant qu'il y a trop de fichiers ouvertsSpring JmsTemplate et Apache ActiveMQ, pourquoi tant de connexions?
J'ai exécuté la commande 'lsof' (liste ouverte) sur Linux contre le processus ActiveMQ et remarqué que pour presque chaque message mis en file d'attente/publié/reçu par JmsTemplate, une nouvelle connexion est ouverte Est-ce normal?
voici ma configuration:
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<constructor-arg ref="amqConnectionFactory" />
<property name="exceptionListener" ref="jmsExceptionListener" />
<property name="sessionCacheSize" value="100" />
</bean>