java Activemq的HelloWorld
来源:互联网 发布:3d打鱼源码 编辑:程序博客网 时间:2024/06/01 19:56
Activemq可以说是核心,是基础,是一个完全支持JMS规范的JMS Provider实现 ,实现JMS 接口的消息中间件,
它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。
简单介绍一下JMS的术语:
Provider (messageProvider):生产者
Consumer(messsageConsumer):消费者
PTP:PONIT TO POINT 即点对点的消息模型;
Pub/Sub: Publish/Subscribe 即发布/订阅
Queue : 队列目标
Topic: 主题目标
ConnectionFactory : 连接工厂
Connection: JMS客户端到 服务端的连接;
Destination:消息的目的地;
Session:会话 一个发送或接受消息的线程;
消息中间件
我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息中间件(MOM:Message Orient middleware)。
消息中间件有很多的用途和优点:
1. 将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块;
2. 负责建立网络通信的通道,进行数据的可靠传送。
3. 保证数据不重发,不丢失
4. 能够实现跨平台操作,能够为不同操作系统上的软件集成技工数据传送服务
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhost:8161/admin/, 修改端口号的话 conf/jetty.xml,jetty-realm.properties 添加用户名密码
conf /activemq.xml 增加认证
我们来做个HelloWord
package com.ccopo.helloword;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.DeliveryMode;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;public class sender {public static void main(String[] args) throws JMSException{//第一步 : 建立ConnectionFactory 工厂对象,需要填入用户名密码,以及要连接的地址,均使用默认即可,默认端口为:tcp://localhsot:61616ConnectionFactory connectionFactory =new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD,"tcp://DESKTOP-60HPCCD:61616");//第二步:通过connectionFactory 工厂对象我们创建一个Connection连接,并且调用Connection的Start方法开启连接 因为Connection默认关闭的Connection Connection= connectionFactory.createConnection();Connection.start();//第三步:通过Connection对象创建Session会话 ,用于接受消息,参数配置1为是否启用事务,2为签收模式,一般我们都是自动签收Session session =Connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);//第四步 :通过Session创建Destination对象,指的是一个客户端用来指定生产消息目标和消费消息来源的对象,在PTP模式中,Destination为称作Queue Destination Destination=session.createQueue("queue1");//第五步L我们需要通过Session 创建消息的发送和接收对象MessageProducer messageProducer=session.createProducer(Destination);//第六步:我们可以使用MessageProducer的setDeliverMode方法为其设置持久化和非持久化messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);//第七步:最后我们使用JMS的TextMessage形式的创建数据,并用messageProducer的Send方法发送数据TextMessage textMessage= session.createTextMessage("我是消息");textMessage.setText("我是消息");messageProducer.send(textMessage);if(Connection!=null){Connection.close();}}}
package com.ccopo.helloword;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.DeliveryMode;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageConsumer;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;public class Receive {public static void main(String[] args) throws JMSException{//第一步 : 建立ConnectionFactory 工厂对象,需要填入用户名密码,以及要连接的地址,均使用默认即可,默认端口为:tcp://localhsot:61616ConnectionFactory connectionFactory =new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD,"tcp://DESKTOP-60HPCCD:61616");//第二步:通过connectionFactory 工厂对象我们创建一个Connection连接,并且调用Connection的Start方法开启连接 因为Connection默认关闭的Connection Connection= connectionFactory.createConnection();Connection.start();//第三步:通过Connection对象创建Session会话 ,用于接受消息,参数配置1为是否启用事务,2为签收模式,一般我们都是自动签收Session session =Connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);//第四步 :通过Session创建Destination对象,指的是一个客户端用来指定生产消息目标和消费消息来源的对象,在PTP模式中,Destination为称作Queue Destination Destination=session.createQueue("queue1");//第五步L我们需要通过Session 创建消息的发送和接收对象MessageConsumer messageConsumer=session.createConsumer(Destination);while(true){TextMessage textMessage =(TextMessage) messageConsumer.receive();//阻塞的if(textMessage==null)break;System.out.println("收到的内容:"+textMessage.getText());}if(Connection!=null){Connection.close();}}}
- java Activemq的HelloWorld
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ简单的HelloWorld实例
- ActiveMQ HelloWorld
- ActiveMQ--HelloWorld
- ActiveMQ--HelloWorld
- ActiveMQ入门教程(三) - ActiveMQ P2P版的HelloWorld
- ActiveMQ入门教程(四) - ActiveMQ Pub/Sub版的HelloWorld
- ActiveMQ深入浅出(三)--ActiveMQ简单的HelloWorld实例
- 深入浅出ActiveMQ(三)--ActiveMQ简单的HelloWorld实例
- JMS(二)--ActiveMQ简单的HelloWorld实例
- JMS(三)--ActiveMQ简单的HelloWorld实例
- linux启动web服务
- 实验吧安全杂项WP(四)
- vb.net 教程 5-6 图片上取色 2
- 考试座位号
- C++之类型萃取
- java Activemq的HelloWorld
- 实验吧安全杂项WP(四)
- 和为S的连续正数序列:双指针同向(非相向)逼近
- CodeForces 785C Anton and Fairy Tale【二分答案+思维】
- cmd shell实用命令
- 排序算法之基数排序
- 一个简单的linux设备驱动和应用测试代码
- Spring+Hibernate处理大批量数据
- Python网络爬虫学习笔记(定向)