中间件技术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();
                            }}});

四.运行结果

image

当对方不在线时,依旧可以发送消息,当对方上线后可以正常接收。

代码链接:https://github.com/BlackJocker1995/MiddlewareWork03

你可能感兴趣的:(中间件技术ActiveMQ消息中间件的使用)