示例
从版本 5.12.0 开始,Apache ActiveMQ Classic 带有一个新的工具,可用于从代理生成和使用消息。
先决条件
在运行示例之前,您应该尝试在您的机器上 运行一个 JMS 代理。按照 安装 说明使用 ActiveMQ Classic 的二进制发行版。要在命令 shell 中运行代理,请键入
bin/activemq console
这将启动 ActiveMQ Classic。
运行
从 命令行,您可以运行
${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
参数运行它们。最新的 生产者 和 消费者 选项可以在源代码中找到。
示例
以下是一些更高级功能的示例。
要发送带有自定义文本的文本消息,请使用
bin/activemq producer --message "My message" --messageCount 1
要发送自定义长度的字节消息,请使用
bin/activemq producer --messageSize 100 --messageCount 1
要发送从 URL 获取内容的文本消息,请使用
bin/activemq producer --payloadUrl https://activemq.apache.org/schema/core/activemq-core.xsd --messageCount 1
要在事务中使用,请使用
bin/activemq consumer --transacted true
要使用客户端确认,请使用
bin/activemq consumer --ackMode CLIENT_ACKNOWLEDGE
要使用持久主题订阅者,请使用
bin/activemq consumer --durable true --clientId example --destination topic://TEST
旧示例
在旧版本的 ActiveMQ Classic 中,相应的示例位于 examples/
或 examples/openwire/swissarmy/
目录中,您可以在其中使用 Ant 脚本执行类似的任务。
ant producer
ant consumer
其他示例
在 examples/
目录中(取决于版本),您可以找到更多使用代理与各种协议(mqtt、amqp 等)和客户端(Java、Ruby、JavaScript 等)的示例,因此这是一个开始学习的好地方。此外,examples/conf/
目录包含许多不同的配置示例,您可以将其用作部署的起点。