天天看點

中間件技術ActiveMQ消息中間件的使用

一. ActiveMQ介紹

通過ActiveMQ消息服務交換消息。消息生産者将消息發送至消息服務,消息消費者則從消息服務接收這些消息。這些消息傳送操作是使用一組實作 ActiveMQ應用程式設計接口 (API) 的對象來執行的。

二. 軟體開發目的

2.1 軟體目的

利用消息中間件接口JMS、消息伺服器ActiveMQ 和Java Swing實作一個簡單的聊天工具,掌握消息中間件的應用。

2. 2程式要求

  1. 實作界面化的聊天工具,支援二人之間互發消息。
  2. 發送消息過程中,發送這首先把消息發送到消息伺服器ActiveMQ,接收者從消息伺服器上取消息;消息發送者和接收者不需要同時運作(線上),實作即使對方處在離線狀态下也可以進行消息的發送和接收。

三. 軟體實作

3.1 功能實作

使用MessageSender進行消息發送,使用MessageReceiver進行消息接收。在Swing中,當使用者點選開始聊天按鈕後MessageReceiver會建立一個線程進行監聽消息,如果有新的消息則向對話框中添加資訊。

關鍵線程函數:

MessageSender messageSender = new MessageSender(targe,url,user,password,str);
                new Thread(messageSender).start();
           
new Thread(new MessageReceiver(user,url,null,null,textArea)).start();
           

MessageReceiver中的線程操作,如果接收到資訊就更改資訊。

SwingUtilities.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                textArea.append("receive : "+ receiveMessage.getText()+"\n");;
                            } catch (JMSException e) {
                                e.printStackTrace();
                            }}});
           

四.運作結果

中間件技術ActiveMQ消息中間件的使用

當對方不線上時,依舊可以發送消息,當對方上線後可以正常接收。

代碼連結:https://github.com/BlackJocker1995/MiddlewareWork03