我正在开发一个使用JMS作为消息传递层的应用程序。我还使用glassfish来托管jms/mq后端。该应用程序能够使用我最初设置的glassfish 3.1服务器中的连接工厂和主题进行发布/订阅消息传递。我现在有了glassfish (4.1)的另一个实例,它托管了一组新的应用程序使用的新功能,但是我仍然需要使用第一个glassfish服务器广播的消息。事实上,客户端使用特定于glassfish 4.1的新库,我不能直接连接到glassfish1服务器。
我遵循了这个关于多服务器环境的教程(https://docs . Oracle . com/CD/e 19798-01/821-1841/bn CFP/index . html ),并且独立的java客户端都使用在新的glassfish服务器中设置的连接工厂来连接到旧的glassfish服务器。我知道正在建立连接,因为如果我停止glassfish1,我会收到连接断开错误等。
相关的客户端代码如下:
System.setProperty("org.omg.CORBA.ORBInitialHost", "10.20.10.52");
System.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
try {
try {
ctx = new InitialContext();
} catch (NamingException ex) {
ex.printStackTrace();
}
ConnectionFactory cf = (ConnectionFactory) ctx.lookup("jms/ConnectionFactory");
Connection connection = cf.createConnection();
jmsContext = cf.createContext(Session.AUTO_ACKNOWLEDGE);
topic = (Topic) ctx.lookup("jms/Topic");
updateShipperConsumer = jmsContext.createConsumer(topic);
jmsProducer = jmsContext.createProducer();
logger.info("Started JMS successfully!");
} catch (NamingException ex) {
ex.printStackTrace();
} catch (JMSException ex) {
Logger.getLogger(LamtecJMSSystemImpl.class.getName()).log(Level.SEVERE, null, ex);
}
}
jms/连接工厂 jndi 是玻璃鱼 2 上的本地连接工厂,其地址列表属性设置为玻璃鱼1:7676。正如教程所建议的那样,在玻璃鱼1上有一个同名的相应连接工厂。查看玻璃鱼1服务器上的imq日志文件,我看到来自玻璃鱼2的连接已经建立。
我不确定我是否应该对jndi主题(我在本地以及远程服务器上进行查找),但我认为这并没有有什么不同。
我可以建议JMS队列,可能对于主题是相似或相同的解决方案。您可以在两台服务器上创建具有相同名称的队列,并让第一个队列使用 glassfish 配置将其消息推送到第二个队列,因此让 imq 代理完成这项工作。使用属性“地址列表”在第一台服务器上配置 jms 连接工厂,其值为“mq://host2:port2”,并具有第二个代理的设置。
有关此类配置,请参阅 OSCM 服务目录中的玻璃鱼资源模板 https://github.com/servicecatalog/development/blob/master/oscm-installation/domains/bes_domain/installer/resources-template.xml
该示例是连接工厂“jms/bss/主索引器队列工厂”,您可以在此模板中找到它。
关于开源项目OSCM云服务管理软件的更多信息
因此,我使用Spring integration链接JMS和ActiveMQ,如下所示:- 如何使其工作,以便发送到此队列并从中接收消息?请帮忙。
嗨,我是Kafka的新手,我有一个快速的问题。 我实现了一个kafka生产者和消费者zookeeper和生产者在另一个服务器(192.168.10.233)中运行,消费者在另一个服务器(192.168.10.234)中运行,两者都是本地连接的 我还从外面查了192.168.10.233:9092,港口是否没有被任何东西堵塞。
我试图从Websphere Application Server连接到外部JMS提供者。我们可以不使用Websphere MQ从Websphere Application Server连接到远程JMS提供者吗?
我有一个Spring Boot应用程序,它接收JSON请求并将其推送到IBM MQ JMS队列中。可能有n个JSON请求将被推送到队列。我的目标是处理队列中的每个请求。如何侦听队列并使用spring boot逐个处理消息?
我们最近将应用程序从 Weblogic 迁移到了 JBOSS Fuse。作为此迁移的一部分,我们还必须将 JMS 实现更改为 Active MQ。由于某些约束,将请求发送到旧 Weblogic JMS 队列的客户端将无法进行更改以将请求发送到新的活动 MQ。有没有办法保持客户端不变(仅更改主机和端口以指向新服务器)并接收发送到Weblogic JMS队列的消息(当然没有weblogic服务器)并将
我有一个远程debian 8服务器,GlassFish 4.1.1运行良好。-通过4848端口的管理控制台工作正常。-通过管理控制台部署工作正常。 我有一个本地NetBeans 8.1 ID.E和本地glassfish-4.1.1来测试应用程序。 现在,我想将远程GlassFish服务器绑定到我的ID.E.上,以部署应用程序并在一次点击中远程测试它。 我做了常规流程,以管理员身份运行NetBean