jms与Mq(Activemq)初识

来源:互联网 发布:mac玩的网游 编辑:程序博客网 时间:2024/05/16 11:49

jms是提供消息服务的技术规范,规定了消息服务过程的数据格式与交互流程。

mq是消息服务的提供者,是面向消息中间件。mq可以基于jms规范,也可以根据其他的消息服务规范。


第一次使用。

1 下载activemq。运行/bin下面的activemq.bat.可以通过http://localhost:8161/admin/ 访问,默认用户密码为admin。

2 java demo。


jmsSender,消息的生产者。

第一步创建一个ConnectionFactory 通过刚才启动的mq服务,new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");

第二步通过创建的ConnectionFactory创建一个Connect连接。connectionFactory.createConnection(),启动连接,connect.start();

第三步创建Session,connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);

第四步创建Queue或Destination,Queue实现了Destination接口。 session.createQueue("Test");  

第五步创建MessageProducer。session.createProducer(queue);   设置生产者的类型  producer.setDeliveryMode(DeliveryMode.PERSISTENT);

第六步创建Message。session.createObjectMessage();  创建的是objectMessage。

第六步通过生产者发送消息。 producer.send(message);  

第七步提交会话 session.commit(); 关闭会话 session.close();  关闭连接 connection.close();    


jmsReciver,消息的消费者。

前四 步与生产者一致

第五步创建MessageConsumer,session.createConsumer(queue); 

第六步监听消息

consumer.setMessageListener(new MessageListener() {public void onMessage(Message msg) { ObjectMessage message = (ObjectMessage) msg;    }});
第七步 提交会话 session.commit(); 关闭会话 session.close();  关闭连接 connection.close();    



Message类型
StreamMessage:Java 数据流消息,用标准流操作来顺序的填充和读取。
MapMessage:一个Map类型的消息;名称为 string 类型,而值为 Java 的基本类型。
TextMessage:普通字符串消息,包含一个String。
ObjectMessage:对象消息,包含一个可序列化的Java 对象
BytesMessage:二进制数组消息,包含一个byte[]。
XMLMessage:  一个XML类型的消息。

0 0
原创粉丝点击