Sim*_*eon 5 java activemq-classic jms
我正在尝试使用查看主题的内容activemq-admin.
这就是我正在尝试的:
./activemq-admin browse --amqurl tcp://localhost:61616 my.topic
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
Java Runtime: Sun Microsystems Inc. 1.6.0_24 /usr/lib/jvm/java-6-sun-1.6.0.24/jre
Heap sizes: current=62848k free=62190k max=932096k
JVM args: -Dactivemq.classpath=/home/pc/dev/apache-activemq-5.3.1/conf; -Dactivemq.home=/home/pc/dev/apache-activemq-5.3.1 -Dactivemq.base=/home/pc/dev/apache-activemq-5.3.1
ACTIVEMQ_HOME: /home/pc/dev/apache-activemq-5.3.1
ACTIVEMQ_BASE: /home/pc/dev/apache-activemq-5.3.1
Run Code Online (Sandbox Code Playgroud)
这不是我想要的.我希望以某种方式以原始形式看到队列中的消息.那可能吗 ?
谢谢,
由于主题的性质,您无法浏览主题的内容。消息被发送进来,如果有任何订阅者,每个人都会在那个时间点收到一条消息。消息通常不会保留(除了一些与此处无关的例外)。
但是,有时出于调试目的,查看发送到主题的消息很有用。最简单的方法是设置一个虚拟目的地,将发送到主题的每条消息复制到一个队列中。
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<compositeTopic name="events" forwardOnly="false">
<forwardTo>
<queue physicalName="events.thatHaveHappened" />
</forwardTo>
</compositeTopic>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过 JMX 或 Web 控制台浏览队列。