打开JMS运行基本示例

问题描述 投票:0回答:1

我试图在我的机器上设置OpenJMS并尝试从命令行运行基本示例。但是,我无法弄清楚如何做到这一点。

这是我到目前为止所做的,

运行Open JMS

➜  bin ./startup.sh
Using OPENJMS_HOME: /Users/gaurang.shah/Documents/personal/jms/openjms-0.7.7-beta-1
Using JAVA_HOME:    /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
OpenJMS 0.7.7-beta-1
The OpenJMS Group. (C) 1999-2007. All rights reserved.
http://openjms.sourceforge.net
11:46:59.353 INFO  [main] - Server accepting connections on tcp://192.168.2.12:3035/
11:46:59.355 INFO  [main] - JNDI service accepting connections on tcp://192.168.2.12:3035/
11:46:59.356 INFO  [main] - Admin service accepting connections on tcp://192.168.2.12:3035/
11:46:59.453 INFO  [main] - Server accepting connections on rmi://192.168.2.12:1099/
11:46:59.453 INFO  [main] - JNDI service accepting connections on rmi://192.168.2.12:1099/
11:46:59.454 INFO  [main] - Admin service accepting connections on rmi://192.168.2.12:1099/

启动发件人

➜  basic ./run.sh Sender new_topic 1
Using OPENJMS_HOME: /Users/gaurang.shah/Documents/personal/jms/openjms-0.7.7-beta-1
Using JAVA_HOME:    /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
Using CLASSPATH:    ./:/Users/gaurang.shah/Documents/personal/jms/openjms-0.7.7-beta-1/lib/openjms-0.7.7-beta-1.jar
hello

启动接收器

➜  basic ./run.sh Receiver new_topic
Using OPENJMS_HOME: /Users/gaurang.shah/Documents/personal/jms/openjms-0.7.7-beta-1
Using JAVA_HOME:    /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
Using CLASSPATH:    ./:/Users/gaurang.shah/Documents/personal/jms/openjms-0.7.7-beta-1/lib/openjms-0.7.7-beta-1.jar

但是,我无法在接收器端获得任何东西。

jms openjms
1个回答
0
投票

在JMS中,如果将消息发送到主题,则该主题上的所有订阅者都会收到该消息。如果该主题上没有订户,则丢弃发送给该主题的任何消息(即,不存储该消息)。这是基本的发布 - 订阅语义。

因此,如果您在启动接收器/订户之前发送消息,则它将不会收到消息。

在发送消息之前启动接收器,它应该接收它。

© www.soinside.com 2019 - 2024. All rights reserved.