将JMS消息从Java EE应用程序发送到Java SE应用程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将JMS消息从Java EE应用程序发送到Java SE应用程序相关的知识,希望对你有一定的参考价值。
由于配置错误,我不确定我所遇到的问题是概念问题还是技术问题。
目标是在应用程序容器(特别是WildFly)中托管的Java EE应用程序和运行独立的Java SE应用程序之间发送双向消息,所有这些都使用标准JMS协议和主题。我虽然这是可能的,只要他们都使用相同的经纪人和相同的主题。
所以我有一个外部Artemis实例作为消息代理运行,并在Java EE应用程序的单独bean中成功设置了生产者和使用者。他们都使用名为“topic1”的相同主题。消费者bean成功接收此生产者发送的消息。
现在我在Java EE应用程序中设置了另一对使用者和生产者,它在任何容器之外作为独立应用程序运行。它们连接到同一个代理,并使用相同的主题“topic1”。此消费者也接收此生产者发送的消息。
我期待任何一个制作人发布消息时,消费者都会收到消息。但这两个应用之间没有任何关系。容器内的应用程序既没有从独立的应用程序接收消息,也没有其他方式接收消息。我在这里犯了一个概念上的错误,还是在配置上有问题?
答案
好的,我发现了问题,这是一个相当错误的配置。我在Java SE端使用了主题的JNDI地址,这显然是一个错误,我应该使用主题名称!
以上是关于将JMS消息从Java EE应用程序发送到Java SE应用程序的主要内容,如果未能解决你的问题,请参考以下文章