Мы используем следующую конфигурацию для 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>
Периодически у меня странная проблема - свободное сообщение. На самом деле AMQ говорит, что все нормально, а сообщение отменено, но нет приложения в приложении...
Я читал, что это может быть проблема с кешированием потребителей, а вместо этого JmsConfiguration следует использовать после 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>
Кто-нибудь знает, как правильно настроить activemq? какие значения должны быть установлены для обеспечения наилучшей производительности и хорошей надежности?
<property name="maxConnections" value="?"/>
<property name="maximumActive" value="?"/>
<property name="concurrentConsumers" value="?"/>
<property name="maxConcurrentConsumers" value="?"/>
Должен ли я использовать org.apache.activemq.pool.PooledConnectionFactory
или есть лучший подход?