1

メッセージを送受信するためにSpring MDP + JMSTemplateを実装しています。メッセージ送信メカニズムは正常に動作していますが、MDP が呼び出されていません。プレーンレシーバー経由でテストしてみましたが、メッセージを取得できましたが、MDP 経由では取得できませんでした。何が問題なのですか?リクエスト キューにメッセージが蓄積されているのがわかりますが、なぜか MDP がトリガーされていません。ここで構成に欠けているものはありますか、それとも何か他の処理が必要ですか?

これがSpring Configです。送受信する Java クラスは、ほぼ標準的なものです。

    <bean id="cookieRequestListener" class="com.text.jms.mq.mdp.RequestQueueMDP">
        <property name="logger" ref="mqLogger" />
        <property name="scoringEngine" ref="scoringEngine" />
        <property name="mqSender" ref="jmsMQSender" />
        </bean>

    <bean id="CookieRequestContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="cachedConnectionFactory" />
        <property name="destination" ref="jmsRequestQueue" />
        <property name="messageListener" ref="cookieRequestListener" />
    </bean>

    <bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiTemplate">
            <ref bean="jndiTemplate" />
        </property>
        <property name="jndiName">
            <value>java:/jms/queueCF</value>
        </property>
    </bean>

    <!-- A cached connection to wrap the Queue connection -->
    <bean id="cachedConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
        <property name="targetConnectionFactory" ref="jmsConnectionFactory"/>
        <property name="sessionCacheSize" value="10" />
    </bean>


    <!-- jms Request Queue Configuration -->
    <bean id="jmsRequestQueue" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiTemplate">
            <ref bean="jndiTemplate" />
        </property>
        <property name="jndiName">
            <value>java:/jms/cookieReqQ</value>
        </property>
    </bean>

    <!-- jms Response Queue Configuration -->
    <bean id="jmsResponseQueue" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiTemplate">
            <ref bean="jndiTemplate" />
        </property>
        <property name="jndiName">
            <value>java:/jms/cookieResQ</value>
        </property>
    </bean>

    <bean id="jmsJMSTemplate" class="org.springframework.jms.core.JmsTemplate" >
        <property name="connectionFactory" ref="cachedConnectionFactory" />
    </bean>

    <!-- jms MQ Utility -->
    <bean id="jmsMQSender" class="com.text.jms.util.MQSender">
        <property name="jmsTemplate">
            <ref bean="jmsJMSTemplate"></ref>
        </property>
        <property name="defaultDestination">
            <ref bean="jmsRequestQueue" />
        </property>
        <property name="logger" ref="mqLogger" />
    </bean>
4

0 に答える 0