并行处理队列中的消息

时间:2015-03-28 16:26:28

标签: spring-integration spring-jms

我有以下程序消耗来自队列的消息,队列是tibco队列,现在我正在尝试开发一个实用工具让我们说 有时会出现一些情况,其中一些外部应用程序在此队列上发送大量消息,例如一天中大约20,000条消息,现在我们有一个用java编写的遗留代码,简单地消耗消息并写入名为messagesday.txtand的文件全部写入该文件中的队列消息并将其存储在计算机的交流驱动器中

现在我想要增强这个,因为这个遗留实用程序需要花费大量时间来消费消息所以我选择了Spring技术的集成,在Spring集成中我已经在xml中提出了这个,它只是消耗了它来自队列礼的消息现在

请建议我如何在其中添加并发使用者,以便多个消费者可以一次收听同一队列,然后将队列的消息写入文本文件并将其保存在我的计算机的c盘中

伙计们请告知

     <int:channel id="output"  > 
  </int:channel>

<bean id="tibcoEMSJndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</prop>
<prop key="java.naming.provider.url">tcp://ftr.net:7833</prop>
<prop key="java.naming.security.principal">rtey</prop>
<prop key="java.naming.security.credentials">rtey</prop>
</props>
</property>
</bean>

    <bean id="tibcoEMSConnFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiTemplate">
            <ref bean="tibcoEMSJndiTemplate" />
        </property>
        <property name="jndiName">
            <value>GenericConnectionFactory</value>
        </property>
    </bean>

 <bean id="tibcosendJMSTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory">
            <ref local="tibcoEMSConnFactory" />
        </property>
        <property name="defaultDestinationName">
            <value>rtey.dev.queue.test.data</value>
        </property>         
        <property name="pubSubDomain">
            <value>false</value> 
        </property>
        <property name ="receiveTimeout">
            <value>120000</value>
        </property> 
    </bean>    


    <int:channel id="input">
<int:queue capacity="10"/>
</int:channel>

<jms:outbound-channel-adapter channel="input" destination-name="rtey.dev.queue.test.data"  connection-factory="tibcoEMSConnFactory" /> 

<jms:message-driven-channel-adapter channel="output" destination-name="rtey.dev.queue.test.data" connection-factory="tibcoEMSConnFactory"   /> 

</beans>

0 个答案:

没有答案