Привет, я новичок в интеграции Spring.Я хочу написать код с нуля, чтобы прочитать сообщение из одной очереди JMS и отправить его в семь разных очередей.Мне нужно использовать IBM Mq.Может кто-нибудь поделиться примером кода со мной.Я написал ниже XML.Я создал одну очередь для чтения и семь для записи.И использовал список получателей-маршрутизатор, чтобы направить его из очереди чтения в очередь записи.
Может кто-нибудь подтвердить, правильно это или нет.
jms-xml.
This adapter reads message from one queue and duplicate it and writes it in multiple queues.
]]>
</description>
<bean id="jmsConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType" value="${jms.transportType}"/>
<property name="queueManager" value="${jms.queueManager}"/>
<property name="hostName" value="${jms.hostName}"/>
<property name="port" value="${jms.port}" />
<property name="channel" value="${jms.channel}"/>
</bean>
<bean id="readerQueue" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<bean id="writerQueue2" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<bean id="writerQueue3" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<bean id="writerQueue4" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<bean id="writerQueue5" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<bean id="writerQueue6" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<bean id="writerQueue7" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${jms.queueManager}"/>
<constructor-arg index="1" value="${jms.receiver.queue.name}"/>
</bean>
<jms:channel id="readerChannel" queue-name="readerQueue" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel1" queue-name="writerQueue1" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel2" queue-name="writerQueue2" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel3" queue-name="writerQueue" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel4" queue-name="writerQueue4" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel5" queue-name="writerQueue5" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel6" queue-name="writerQueue6" connection-factory="jmsConnectionFactory"/>
<jms:channel id="writerChannel7" queue-name="writerQueue7" connection-factory="jmsConnectionFactory"/>
->
<int:recipient-list-router id="customRouter" input-channel="readerChannel"
timeout="1234"
ignore-send-failures="true"
apply-sequence="true">
<int:recipient channel="writerChannel1"/>
<int:recipient channel="writerChannel2"/>
<int:recipient channel="writerChannel3"/>
<int:recipient channel="writerChannel4"/>
<int:recipient channel="writerChannel5"/>
<int:recipient channel="writerChannel6"/>
<int:recipient channel="writerChannel7"/>
</int:recipient-list-router>
<bean id="receiverJMSTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="pubSubDomain" value="false"/>
<property name="receiveTimeout" value="30000"/>
</bean>