activemq:進入bin目錄啟動,localhost:8161訪問activemq客戶端
1.傳送訊息給activemq客戶端:
; string user = activemqconnection.default_user; //預設使用者名稱admin
string password = activemqconnection.default_password; //預設密碼admin
activemqconnectionfactory factory = new activemqconnectionfactory(user, password, url); //建立連線acrivemq的工廠
connection conn = factory.createconnection();
conn.start(); //開啟連線
session session = conn.createsession(true,session.auto_acknowledge);
destination destination=session.createqueue("wy"); //目的佇列
messageproducer producer = session.createproducer(destination); // 建立訊息生產者
textmessage message = session.createtextmessage(); //傳送訊息到activemq中
for(int i=0
;i<10;i++)
session.commit(); //訊息提交,一定需要
conn.close();
2.客戶端消費activemq的訊息
string user = activemqconnectionfactory.default_user;
string password = activemqconnectionfactory.default_password;
activemqconnectionfactory factory = new activemqconnectionfactory(user, password, url);
connection conn = factory.createconnection();
conn.start();
session session = conn.createsession(boolean.false,session.auto_acknowledge);
destination destination = session.createqueue("wy");
messageconsumer consumer = session.createconsumer(destination );
consumer.setmessagelistener(new messagelistener() catch (jm***ception e) }}
//接收訊息的另外一種方式
consumer.receive();
activemq作為訊息儲存的中介軟體,可以減少資料實時儲存資料庫的壓力
activemq接收訊息pull與push模式
1。同步和非同步的方式 public static void main string args else 非同步的方式接收訊息 consumer.setmessagelistener new messagelistener catch exception e 非同步接收 catch exceptio...
ActiveMQ的訊息儲存方式
1.佇列儲存 採取先進先出模式,同一時間,訊息只會傳送給某乙個消費者,只有當該訊息被消費並告知已收到時,它才能在 的儲存中被刪除。對於永續性訂閱來說,每乙個消費者都會獲取訊息的拷貝。為了節約空間,的儲存介質中只儲存了乙份訊息,儲存介質的持久訂閱物件為其以後的被儲存的訊息維護了乙個指標,消費者消費時,...
ActiveMQ處理積壓的訊息
如果消費者變為慢速消費者,那麼後面可能會導致訊息積壓,導致生產者速度也變慢,甚至停止。我們可以配置訊息的過期時間,並設定訊息過期丟棄策略,以及使用死信佇列來處理訊息的積壓。activemq提供了乙個timestampingbrokerplugin外掛程式,通過此外掛程式,我們可以為持久化訊息設定過期...