Comment configurer correctement ActiveMQ avec le pooling?
Nous utilisons la configuration suivante pour AMQ
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${brokerURL1}"/>
</bean>
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
<property name="maxConnections" value="10"/>
<property name="maximumActive" value="100"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory"/>
<property name="transacted" value="false"/>
<property name="concurrentConsumers" value="5"/>
<property name="maxConcurrentConsumers" value="10"/>
</bean>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig"/>
</bean>
Régulièrement j'ai l'étrange question - lâche message. En fait AMQ dit que tout est OK et le message est retiré, mais il n'y a pas de message sur l'app...
Je l'ai lu, il peut être d'un problème avec la mise en cache des consommateurs et au lieu JmsConfiguration devrait être utilisée à la suite de config
<bean id="jmsConfig" class="org.apache.activemq.camel.component.ActiveMQConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory"/>
<property name="transacted" value="false"/>
<property name="concurrentConsumers" value="5"/>
<property name="maxConcurrentConsumers" value="10"/>
<property name="cacheLevelName" value="CACHE_CONSUMER"/>
</bean>
Quelqu'un sait comment bien configurer activemq?
quelles valeurs doivent être ensemble pour de meilleures performances et une bonne fiabilité?
<property name="maxConnections" value="?"/>
<property name="maximumActive" value="?"/>
<property name="concurrentConsumers" value="?"/>
<property name="maxConcurrentConsumers" value="?"/>
Dois-je utiliser org.apache.activemq.pool.PooledConnectionFactory
ou il y a une meilleure approche?
source d'informationauteur Diyko
Vous devez vous connecter pour publier un commentaire.
Il semble que vous êtes plus demandant comment configurer Apache Camel comment utiliser ActiveMQ.
Il existe de nombreuses manières de configurer la mise en commun etc. fortement en fonction de l'utilisation/charge les modèles que vous voyez dans votre installation et de vos besoins. Ces paramètres on se réfère à maxConcurrentConsumers etc. dépendra de votre Chameau routes et la façon dont beaucoup de consommateurs vous configuration par exemple.
Simplement, il y a deux scénarios pour optimiser pour: Envoyer et recevoir des messages (demande/réponse qui vient à l'esprit, mais c'est une autre histoire).
Si vous recevez beaucoup de messages dans votre application, vous avez généralement le programme d'installation messages d'auditeurs et de mise en commun n'est pas beaucoup d'aide, puisque vous n'avez pas créer/abattre un grand nombre de connexions/sessions. Assurez-vous de configurer assez simultanées consommateurs comment beaucoup dépend de votre matériel (# cœurs du PROCESSEUR, etc) et la taille de chaque message. Vous devez mesurer votre installation spécifique pour une meilleure performance.
Lorsque vous envoyez des messages, à dos de Chameau suggère la PooledConnectionFactory de ActiveMQ comme vous le dites. La documentation liée à l'suggère également certaines valeurs par défaut pour les paramètres que vous demandez.
Pour max fiabilité, vous devez utiliser traitées séances et de s'engager dans le message reçu une fois que vous l'avez traitée de manière sécuritaire.
Étrange que vous dites que vous perdez des messages, il n'y a pas quelque chose de précis dans vos paramètres de vous faire perdre des messages. Vous avez besoin de suivre cela d'un peu plus loin ou de donner quelques informations sur la mise en œuvre du pa.