ActiveMQ入门练习

 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

  JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

  JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS客户机发送消息。
  本篇我将和大家一起分享一下Apache JMS的使用,ApacheMQ:
  <dependencies>      <dependency>      <groupId>org.apache.activemq</groupId>      <artifactId>activemq-all</artifactId>      <version>${active-mq-version}</version>    </dependency>        <!-- upload/201802021009258466.gif" alt="复制代码" style="max-width: 900px; border: none !important;" />

  下面我们就开始消息的收发,先来探讨一下点对点的消息收发:

  1、消息的发送

  原理上我们通过ConnectionFactory会话工厂 ---> 创建一个会话连接 ---> 通过会话连接创建一个会话线程 ---> 通过会话线程创建一个消息队列 ---> 通过会话线程和消息队列创建一个消息生产者(MessageProducer) ---> 最后由消息生产者进行消息的发送。

复制代码
private static ConnectionFactory factory;//会话连接工厂private static Connection connection;//会话连接private static Session session;//会话接收或发送消息线程private static Destination destination;//消息队列private static MessageProducer messageProducer;//消息发送者
复制代码

  通过ActiveMQConnectionFactory创建会话工厂

factory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKER_URL);//创建会话连接工厂

  设置会话连接额度地址和用户名密码在(这里我使用的是默认的地址和用户名密码)

复制代码
private static final String USERNAME = ActiveMQConnection.DEFAULT_USER; private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD; private static final String BROKER_URL = ActiveMQConnection.DEFAULT_BROKER_URL;
复制代码

  下面封装了一下上面的过程:

复制代码
    /**      * @Description 发送消息      * @param queryName 消息队列名称      * @param msg 消息内容      * @return      *      * @author 高尚      * @version 1.0      * @date 创建时间:2018年1月31日 下午3:54:22      */    public static boolean producerSendQueryMessage(final String queryName, final String msg){         boolean flag = true;         try {             connection = factory.createConnection();//创建会话连接            connection.start();
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信