从5.12.0版本以后,Apache ActiveMQ有了新的可以在命令行直接运行的生产和消费消息的工具。
在运行下面的例子之前,你要先在你的电脑上启动一个JMS broker。这个安装文档可以教你怎么使用一个二进制的发行版本。在命令行中输入以下命令就可以运行一个borker了:
bin/activemq console 译者注:在我电脑上安装的5.11.1及5.12两个版本似乎不支持console这个参考,要用start这个参考,如下: bin/activemq start
这将会启动一个borker。
如果是以命令行的方式,你可以输入以下命令
${ACTIVEMQ_HOME}/bin/activemq producer ${ACTIVEMQ_HOME}/bin/activemq consumer
如果你有activemq-all这个jar包,你也可以象下面这样来运行
java -jar activemq-all-5.x.x.jar producer java -jar activemq-all-5.x.x.jar consumer
如果你在Karaf中运行,你可以在命令行输入以下命令:
activemq:producer activemq:consumer
如果想查看命令行的所有选项,可以在后面跟上 -help参数。最新的,producer和consumer的选项,可以在源代码中找到。
下面是一些比较高级的功能的例子
使用自定义的文本发送文本消息,可以使用
bin/activemq producer --message "My message" --messageCount 1
发送自定义长度的二节制消息,可以使用
bin/activemq producer --messageSize 100 --messageCount 1
发送一个内容人指定的url中获取的文本消息可以使用
bin/activemq producer --payloadUrl http://activemq.apache.org/schema/core/activemq-core.xsd --messageCount 1
To consume in transaction use
bin/activemq consumer --transacted true
使用客户端确认的方式接收消息可以使用
bin/activemq consumer --ackMode CLIENT_ACKNOWLEDGE
主题订阅的方式可以使用
bin/activemq consumer --durable true --clientId example --destination topic://TEST
在老版本中,这些相应的例子存放在examples/或examples/openwire/swissarmy/目录下,你可以使用ant来运行这些例子
ant producer ant consumer
在examples/目录下你可以找到更多的如何使用种协议(mqtt, amqp, ...)及各种语言客户端(Java, Ruby, JavaScript, ...)的例子,因此这应该是一个不错的用来学习ActiveMQ的地方。同时,在examples/conf/目录下有许多不同的配置文件的例子,你可以直接拿来使用。
Web Samples
Web Console
JMX
Version 5 Examples