amq有開放外掛程式開發介面,今天研究了一下,直接給專案組加了個訊息流監控的功能,看起來還是挺好的。
開發步驟是:
1.開發外掛程式jar包
我寫的這個外掛程式主要作用是當有訊息被傳送的時候,就往日誌中記錄一條。不使用amq自帶的logging plugin的主要原因是格式問題,而且我只需要篩選某幾個應用的訊息。
注:brokerfilter這個類中的方法決定了外掛程式能實現的功能,比如連線建立、連線斷開、訊息到達、訊息過期等等都可以自定義操作。
程式如下
//入口類
package com.cn.amqs;
import org.apache.activemq.broker.broker;
import org.apache.activemq.broker.brokerplugin;
import org.apache.activemq.plugin.statisticsbrokerplugin;
import org.apache.commons.logging.log;
import org.apache.commons.logging.logfactory;
public class messagelogplugin implements brokerplugin
}
//主要實現功能的類
package com.cn.amqs;
import org.apache.activemq.broker.broker;
import org.apache.activemq.broker.brokerfilter;
import org.apache.activemq.broker.producerbrokerexchange;
import org.apache.activemq.command.message;
import org.apache.activemq.plugin.statisticsbrokerplugin;
import org.apache.commons.logging.log;
import org.apache.commons.logging.logfactory;
//brokerfilter這個類包含了broker的很多操作,可以看看原始碼了解一下
public class messagelog extends brokerfilter
@override
public void send(producerbrokerexchange producerexchange, message messagesend) throws exception
super.send(producerexchange, messagesend);
}}
2.打上面的程式打成jar包後,將jar包放在amq的lib目錄下。
3.修改activemq.xml檔案
在activemq.xml檔案中的plugins標籤下新增如下的一段**
4.重啟mq,訊息流的日誌就會顯示在data目錄下的activemq.log中了 Linux開發環境搭建 之ActiveMQ安裝
前言 什麼是mq?mq是乙個訊息中介軟體,比如 activemq rocketmq rabbitmq kafka都屬於mq,是mq的產品。什麼是activemq?activemq 是apache出品,最流行的,能力強勁的開源訊息匯流排。activemq 是乙個完全支援jms1.1和j2ee 1.4規...
ActiveMQ入門 ActiveMQ環境搭建
解壓縮就能用,執行bin資料夾下面的可執行檔案 cd users szz downloads apache activemq 5.15.9 bin macosx macosx activemq startstarting activemq broker.可以開啟它的管理介面http localhos...
npm外掛程式開發 Vue外掛程式
vue init webpack npm vue ui,dependencies browserslist 1 last 2 versions not ie 8 devdependencies const path require path const webpack require webpack...