【问题标题】:Error using Spring CachingConnectionFactory with Websphere MQ on Websphere Application Server在 Websphere 应用服务器上使用带有 Websphere MQ 的 Spring CachingConnectionFactory 时出错
【发布时间】:2016-03-01 15:41:03
【问题描述】:

使用 spring CachingConnectionFactory 连接到 WAS 上的 Websphere MQ 时出现以下错误

org.springframework.jms.IllegalStateException: **Method setExceptionListener not permitted;** nested exception is javax.jms.IllegalStateException: Method setExceptionListener not permitted
        at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:279) ~[spring-jms-4.1.5.RELEASE.jar:4.1.5.RELEASE]
        at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169) ~[spring-jms-4.1.5.RELEASE.jar:4.1.5.RELEASE]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:496) ~[spring-jms-4.1.5.RELEASE.jar:4.1.5.RELEASE]
        at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:568) ~[spring-jms-4.1.5.RELEASE.jar:4.1.5.RELEASE]
        at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:559) ~[spring-jms-4.1.5.RELEASE.jar:4.1.5.RELEASE]

我的配置看起来像 -

<jee:jndi-lookup id="jmsConnectionFactory"
            jndi-name="jms/XXXCF" />

<bean id="cachedConnectionFactory"
            class="org.springframework.jms.connection.CachingConnectionFactory">
            <property name="targetConnectionFactory" ref="jmsConnectionFactory"/>
            <property name="sessionCacheSize" value="50" />
        </bean>

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

有谁知道我是否缺少 spring 或 WAS 方面的任何配置?提前致谢。

【问题讨论】:

    标签: spring jms ibm-mq


    【解决方案1】:

    我也面临着同样的问题。调试spring代码后发现ibm有这个问题,因为设置了“reconnectOnException”

    通过添加

    到您的缓存连接工厂。你绕过这个问题。

    但是现在当然,在抛出异常后,我会得到这样的异常

    • 生产者关闭
    • org.springframework.jms.IllegalStateException:会话关闭;
    • javax.jms.IllegalStateException:连接已关闭

    有没有人知道如何让 IBM 与 reconnectOnException="true" 配合得很好?

    【讨论】:

      猜你喜欢
      • 2013-02-28
      • 2013-03-31
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多