达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心 达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心
java程序员
 当前位置:主页 > 高端课程 > java程序员 >

Apache ActiveMQ

时间:2019-11-07  来源:未知  作者:广州达内培训

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

 Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

 下载Apache ActiveMQ服务

 

 

下载后将zip 压缩包解压,将这个解压缩后的文件夹拷贝到指定位置,我本人的服务都在c盘下的service文件夹

找到C:\service\apache-activemq\bin\win64下的activemq.bat文件双击即可启动activemq服务器,如下图

 

 说明已经启动完毕,可以登录主页面查看ActiveMQ的相关内容,如果对话框一闪而过则需要配置环境变量

打开网页,在地址栏输入http://127.0.0.1:8161

 

 用户名,密码都是admin

并将apache-activemq目录下的activemq-all.5.15.10.jar拷贝到工程中lib文件夹下,即可使用ActiveMQ的所有功能。

 

 

ActiveMQ点对点消息实现:使用方式首先启动消息生产者发送消息,然后启动消费者接收消息

创建JMSProducer.java(消息生产者)

package com.kingsoft.activemq.unit01;

 

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.Destination;

import javax.jms.JMSException;

import javax.jms.MessageProducer;

import javax.jms.Session;

import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;

import org.apache.activemq.ActiveMQConnectionFactory;

 

/**

 *

 * @ClassName: JMSProducer

 * @Description: TODO (消息生产者)

 * @author A我去

 * @date 2019年10月11日下午11:16:53

 */

public class JMSProducer {

 

    private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;

    private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;

    private static final String BROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;

    private static final int SENDNUM = 10; //发送消息的数量

   

    /**

     *

     * <b>Description</b><br>

     * (发送消息)

     * <br>

     * -------------------------------------------------<br>

     * <b>A我去  2019年10月11日 下午11:30:44</b>

     */

    public static void sendMessage(Session session, MessageProducer producer)

throws Exception{

        for(int i=0;i<JMSProducer.SENDNUM;i++) {

            TextMessage message = session.createTextMessage("ActiveMQ 发送的消息"+i);

            System.out.println("发送消息:"+"ActiveMQ 发送的消息"+i);

            producer.send(message);

        }

    }

   

    public static void main(String[] args) {

        ConnectionFactory connectionFactory; //连接工厂

        Connection connection = null; //连接

        Session session = null; //会话(接受或发送消息的线程)

        Destination destination; //消息目的地

        MessageProducer producer; //消息生产者

       

        //1.实例化连接工厂

        connectionFactory = new ActiveMQConnectionFactory(

JMSProducer.USERNAME, JMSProducer.PASSWORD, JMSProducer.BROKEURL);

        try {

            //2.通过连接工厂获取连接

            connection = connectionFactory.createConnection();

            //3.启动连接

            connection.start();

            //4.创建Session

            session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);

            //5.创建消息队列

            destination = session.createQueue("first-quque1");

            //6.创建消息生产者

            producer = session.createProducer(destination);

            //7.发送消息

            sendMessage(session, producer);

            //8.session提交

            session.commit();

        } catch (JMSException e) {

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();

        }finally {

            //关闭session

            if(session!=null) {

                try {

                    session.close();

                } catch (JMSException e) {

                    e.printStackTrace();

                }

            }

            //关闭连接

            if(connection != null) {

                try {

                    connection.close();

                } catch (JMSException e) {

                    e.printStackTrace();

                }

            }

        }

    }

}




上一篇:Java 8
下一篇:没有了

友情链接:
  • 全球最大晶圆代工半导体制造厂,台积电斥资订购艾斯摩尔机器设备
  • 英特尔依然是那个英特尔,且看英特尔的城防体系
  • 支持双 DRAM 内存接口,慧荣企业级 SSD 主控方案披露
  • 在全球被反垄断罚款,冤!高通到底哪里得罪了欧盟?
  • 强强联合!万业、微电子所和芯鑫共同打造全新半导体设备
  • 复旦大学校长称:对于集成电路产业发展,大学应该主动担当
  • 技术再升级!无锡中科芯攻克晶圆级再布线及晶圆级凸点制备关键技
  • 聚力!万业企业设立集成电路装备集团,提供自主可控设备
  • 德州仪器C2000微控制器增强连通性和控制性
  • 英特尔打出降价策略,以免被竞争对手 AMD 打败?
  • 贸易摩擦的闹剧没有赢家,苹果有勇气离开中国吗?
  • 图像信号与视觉处理器的发展趋势
  • 真干快消品定位方案班(第二期)火热开班
  • Java集合 ArrayList原理及使用
  • TDD(测试驱动开发)死了吗?
  • JAVA基础之XML相关
  • javaweb项目搭建ehcache缓存系统
  • 每日一码——字符串统计
  • 一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生
  • 九:模板方法模式
  • 十二:命令模式(人员解耦和)
  • Java 转PPT为图片、PDF、SVG、XPS、ODP以及PPT和PPTX互转
  • SpringCloud学习(SPRINGCLOUD微服务实战)一
  • 记一次微信网页授权后获取用户信息并重定向
  • 速途新营销五点实战洞察解码“品效合一”
  • 十一:外观模式详解(Service,action与dao)
  • 手把手教你学会 基于JWT的单点登录
  • mysql锁机制总结,以及优化建议
  • 解决多个版本jar包冲突【jar内包名重命名】
  • 中国首张5G终端电信设备进网许可证 华为Mate 20 X 5G版入网
  • RPC之Thrift
  • 高级Java工程师必备 ----
  • 天猫618期间实物支付GMV增长38.5%
  • 换季了,老板你的库存处理好了吗?
  • 从“618”大数据看中国消费新活力
  • 小米生态链:贵在格局感与收放度
  • CODING 2.0 企业级持续交付解决方案
  • 老铁奇趴“新京济” 快手*京东618战报出炉
  • 中小企业新媒体运营基本技能
  • 上汽大通房车再度携手LINE FRIENDS 魔都巡游顺利开启
  • 华为高端手机国内市场份额超苹果夺得榜首
  • 中国智能制造分析报告
  • iPlus艾加营销助力腾讯广告牵手吴晓波 推进商业IP变现
  • 2019世界新能源汽车大会7月1日将在海南举行
  • 区域酒企如何转型突围
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载