我使用的是Websphere Liberty,需要订阅Websphere Traditional中的主题。
我使用的是春季短信。我能够设置一个示例应用程序,它使用websphere自由中的嵌入式JMS来发送和接收消息。在尝试订阅websphere传统主题时,我遇到了问题。我没有看到任何消息进来。
我不清楚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>