範例
自 5.12.0 版本起,Apache ActiveMQ Classic 帶有一個新的工具,可用於產生和使用 Broker 的訊息。
先決條件
在執行範例之前,您應該嘗試在您的機器上執行 JMS Broker。請依照安裝說明來使用 ActiveMQ Classic 的二進位發行版本。若要在命令 shell 中執行 Broker,請輸入
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
參數執行它們。最新的 producer 和 consumer 選項可以在原始碼中找到。
範例
以下是一些更進階功能的範例。
若要傳送具有自訂文字的文字訊息,請使用
bin/activemq producer --message "My message" --messageCount 1
若要傳送自訂長度的位元組訊息,請使用
bin/activemq producer --messageSize 100 --messageCount 1
若要傳送從 URL 取得內容的文字訊息
bin/activemq producer --payloadUrl https://activemq.dev.org.tw/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...)的 Broker 範例,因此這是開始學習的好地方。此外,examples/conf/
目錄包含許多不同的配置範例,您可以將其用作您部署的起點。