ACT IVEMQとspring統合後の性能問題
4850 ワード
activemqを使用してメッセージを送信し、受信する必要があります.springと統合して使用します.メッセージ20000本/sを送信する予定です.
実際に20000件のメッセージを送るには7秒ぐらいかかります.消費者はもっと遅いです.1000本/Sしかありません.
私の設定は以下の通りです.
avtivemqサーバーの設定は変更されていません.直接ホームページをダウンロードしてから起動します.
また、単独でテストクラスを書いてメッセージを送るのはspirngのjmsTemplateではないと気づきました.生産者は私の要求のスピードに達することができます.springのjmsTemplateのスピードはとても遅いです.
この問題にあった友達がいますか?資料を調べていろいろな方法を試しましたが、だめです.
実際に20000件のメッセージを送るには7秒ぐらいかかります.消費者はもっと遅いです.1000本/Sしかありません.
私の設定は以下の通りです.
<bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${jms.brokerURL}" />
<property name="userName" value="${jms.username}" />
<property name="password" value="${jms.password}" />
<!-- -->
<property name="useAsyncSend" value="true" />
<property name="alwaysSessionAsync" value="false" />
</bean>
<!-- , -->
<bean id="JmsSenderFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory" ref="jmsFactory" />
<property name="maxConnections" value="2"></property>
</bean>
<!-- , -->
<bean id="JmsReveiverFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
<property name="connectionFactory" ref="jmsFactory" />
<property name="maxConnections" value="10"></property>
</bean>
<!-- Spring JMS Template -->
<bean id="jmsTemplate" class="cn.xx.xx.jms.core.EFSJmsTemplate">
<property name="connectionFactory" ref="JmsSenderFactory" />
<property name="defaultDestination" ref="destination" />
<!-- :false p2p;true -->
<property name="pubSubDomain" value="false" />
<!-- <property name="deliveryMode" value="1"></property>
<property name="explicitQosEnabled" value="true"></property> -->
<!-- -->
<property name="sessionTransacted" value="false" />
<property name="messageConverter">
<bean
class="org.springframework.jms.support.converter.SimpleMessageConverter" />
</property>
</bean>
<!-- Spring JMS Template -->
<bean id="jmsTemplate2" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="JmsReveiverFactory" />
<property name="defaultDestination" ref="destination" />
<!-- :false p2p;true -->
<property name="pubSubDomain" value="false" />
<property name="messageConverter">
<bean
class="org.springframework.jms.support.converter.SimpleMessageConverter" />
</property>
</bean>
<!-- ( ) -->
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
<!-- -->
<constructor-arg index="0" value="${jms.queueName}" />
</bean>
<!-- -->
<bean id="listenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer"
lazy-init="false">
<property name="concurrentConsumers" value="${jms.concurrentConsumers}" />
<property name="connectionFactory" ref="JmsReveiverFactory" />
<property name="destinationName" value="${jms.queueName}" />
<property name="messageListener" ref="messageConsumer" />
<property name="pubSubNoLocal" value="true"></property>
</bean>
<!-- -->
<bean id="messageConsumer" class="cn.xx.xx.jms.MessageConsumer">
<property name="jmsTemplate2" ref="jmsTemplate2"></property>
</bean>
<!-- -->
<bean id="messageProducer" class="cn.xx.xx.jms.MessageProducer">
<property name="jmsTemplate" ref="jmsTemplate"></property>
</bean>
avtivemqサーバーの設定は変更されていません.直接ホームページをダウンロードしてから起動します.
また、単独でテストクラスを書いてメッセージを送るのはspirngのjmsTemplateではないと気づきました.生産者は私の要求のスピードに達することができます.springのjmsTemplateのスピードはとても遅いです.
この問題にあった友達がいますか?資料を調べていろいろな方法を試しましたが、だめです.