Spring Integration,用于WMQ的jms入站网关;无法使用消息

时间:2015-01-28 14:39:12

标签: jms spring-integration ibm-mq

我最近开始探索Spring Integration,因为这是我们要为项目评估的选项之一。

我面临的问题如下。

我已经创建了一个JMS入站网关来监听WMQ队列,我希望inboudnd网关(使用DML)应该在队列可用时接收消息(事件驱动)。

但有些例子是如何运作的。它无法从队列中选择消息。但是我可以看到(使用工具)队列中创建了消费者。 这里的帮助确实非常适合。

下面的代码段。

<bean id="mqFactory" class="com.ibm.mq.jms.MQConnectionFactory">
        <property name="hostName" value="${mq.hostName}"/>
        <property name="port" value="${mq.port}"/>
        <property name="queueManager" value="${mq.queueManager}"/>
        <property name="channel" value="${mq.channel}"/>
        <property name="transportType" value="${mq.transportType}"/>
        <property name="SSLCipherSuite" value="${mq.SSLCipherSuite}"/>
    </bean>

    <bean id="inCachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
        <property name="targetConnectionFactory" ref="mqFactory" />
        <property name="sessionCacheSize" value="5" />
    </bean>

    <bean id="requestQueue-mq" class="com.ibm.mq.jms.MQQueue">
        <constructor-arg value="${mq.example.queue}"/>
    </bean>
    <bean id="demoBean" class="com.jpmchase.example.spring.DemoBean">
</bean>
   <jms:inbound-gateway id="wMQ_in_gateway" concurrent-consumers="2" max-concurrent-consumers="5" connection-factory="inCachingConnectionFactory" request-destination="requestQueue-mq"
    request-channel="demoChannel"  />
<integration:channel id="demoChannel">
     </integration:channel>
<integration:service-activator input-channel="demoChannel" ref="demoBean"/>

以下是服务激活器java代码。

enter @MessageEndpoint

公共类DemoBean {

@ServiceActivator
public String upperCase(String input) {
    System.out.println("inside the service activator " + input);
    return "JMS response: " + input.toUpperCase();
}

这里

0 个答案:

没有答案