文章

Java访问ActiveMQ

Java访问ActiveMQ1.创建gradle项目2.增加依赖3.创建类4.启动服务器5.生产6.消费7.git仓库地址ActiveMQ发布订阅模式1.创建gradle项目2.增加依赖3.创建类package com.study.config;import org.apache.activemq.ActiveMQConnection;/** * @author jia..._java activemq username

Java访问ActiveMQ

文章信息

  • 原文链接:https://jiayq.blog.csdn.net/article/details/95090695
  • 发布时间:2019-07-08 20:08:37
  • 阅读量:523
  • 分类:ActiveMQ专栏收录该内容, 订阅专栏
  • 标签:#activeMQ, #activeMQHello, #java 如何连接activeMQ, #activeMQ生产者消费者, #activeMQ的两种模式

摘要

文章浏览阅读523次。Java访问ActiveMQ1.创建gradle项目2.增加依赖3.创建类4.启动服务器5.生产6.消费7.git仓库地址ActiveMQ发布订阅模式1.创建gradle项目2.增加依赖3.创建类package com.study.config;import org.apache.activemq.ActiveMQConnection;/** * @author jia…_java activemq username


Java访问ActiveMQ

  • 1.创建gradle项目
  • 2.增加依赖
  • 3.创建类
  • 4.启动服务器
  • 5.生产
  • 6.消费
  • 7.git仓库地址

ActiveMQ
发布订阅模式

1.创建gradle项目

在这里插入图片描述

2.增加依赖

在这里插入图片描述

3.创建类

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.study.config;

import org.apache.activemq.ActiveMQConnection;

/**
 * @author jiayq
 */

public enum ActiveMQConfig {
    /**
     * username
     */
    USERNAME(ActiveMQConnection.DEFAULT_USER),
    /**
     * password
     */
    PASSWORD(ActiveMQConnection.DEFAULT_PASSWORD),
    /**
     * url
     */
    URL(ActiveMQConnection.DEFAULT_BROKER_URL);

    /**
     * value
     */
    private String value;

    private ActiveMQConfig(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}




package com.study.consume;

import com.study.config.ActiveMQConfig;
import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * @author jiayq
 */
public class Consume {

    public static void main(String[] args) throws JMSException {
        //创建连接工厂
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ActiveMQConfig.USERNAME.getValue(),
                ActiveMQConfig.PASSWORD.getValue(), ActiveMQConfig.URL.getValue());
        //创建连接
        Connection connection = activeMQConnectionFactory.createConnection();
        //开启连接
        connection.start();
        //创建会话,不需要事务
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        //创建主题
        Topic topic = session.createTopic("active-test");
        //创建消息消费者
        MessageConsumer consumer = session.createConsumer(topic);
        //注册监听
        consumer.setMessageListener(message -> {
            try {
                System.out.println(((TextMessage)message).getText());
                Thread.sleep(4 * 1000);
            } catch (JMSException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
    }

}




package com.study.publish;


import com.study.config.ActiveMQConfig;
import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;
import java.util.Random;

/**
 * @author jiayq
 */
public class Publish {

    public static void main(String[] args) {
        //创建连接工厂
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ActiveMQConfig.USERNAME.getValue(),
                ActiveMQConfig.PASSWORD.getValue(),ActiveMQConfig.URL.getValue());
        try{
            //创建连接
            Connection connection = activeMQConnectionFactory.createConnection();
            //开启连接
            connection.start();
            //创建会话
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            //创建主题,用于订阅消息
            Topic topic = session.createTopic("active-test");
            //消息生产者
            MessageProducer producer = session.createProducer(topic);
            while (true) {
                //创建消息
                TextMessage message = session.createTextMessage(new String(new Random().nextDouble() + ""));
                System.out.println(message.getText());
                //发送
                producer.send(message);
                //模拟生产消息的耗时
                Thread.sleep(3 * 1000);
            }
        } catch (JMSException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }


}

4.启动服务器

在这里插入图片描述

5.生产

在这里插入图片描述
在图形化界面查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.消费

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.git仓库地址

https://github.com/a18792721831/MQ.git

本文由作者按照 CC BY 4.0 进行授权