订阅Liberty中的Websphere主题

时间:2016-10-31 21:15:50

标签: websphere-liberty spring-jms

我使用的是Websphere Liberty,需要订阅Websphere Traditional中的主题。

我使用的是春季短信。我能够设置一个示例应用程序,它使用websphere自由中的嵌入式JMS来发送和接收消息。在尝试订阅websphere传统主题时,我遇到了问题。我没有看到任何消息进来。

这方面的文件很模糊: http://www.ibm.com/support/knowledgecenter/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/twlp_msg_interop1.html#twlp_msg_interop1

我不清楚JMS主题中定义的jndi名称是否应与websphere传统中的jndi名称匹配。还有properties.wasJms中定义的topicName,应该是jndi名称还是名称?

我几乎不愿提及这一点,但它可能有助于调试问题。如果在我的应用程序中我使用JmsTemplate发布到远程主题我得到消息即使主题已经在server.xml或Websphere传统中定义。我有目的地连接到FOOBAR作为主题名称并订阅了FOOBAR,我得到了消息。 FOOBAR并不存在......

我原本希望看到WAS传统服务器出错,但我不知道。我在这里的怀疑是,该消息根本没有到达WAS,而且它的行为就像它刚刚嵌入一样。

这是我的server.xml的相关部分:

     <wasJmsOutbound id="BootstrapSecureMessaging" useSSL="true">
        <sslOptions sslRef="CustomSslNewOptions" />
    </wasJmsOutbound>

<jmsTopicConnectionFactory jndiName="jndi/MyTest">
    <properties.wasJms
        userName="wasadmin"
        password="SohJdmkR"
    clientID="defaultID" 
    remoteServerAddress="someserver:7286:BootstrapSecureMessaging"
    busName="MY.De1.Bus"/>
</jmsTopicConnectionFactory>

<jmsTopic jndiName="jms/sometopic">
    <properties.wasJms 
      topicName="SomeWasTraditionalTopic" 
      deliveryMode="Application"
      timeToLive="500000"
      priority="1"
      readAhead="AsConnection" 
    />
</jmsTopic>

0 个答案:

没有答案