资源简介
自己写的一个JMS的demo,包含点对点,发布/订阅的例子,以及DeliverMode的测试,还有持久的订阅者,解决topic模式下消息接收者离线后接收不到离线时错过的消息的问题。
代码片段和文件信息
package com.rick.queue;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Receiver {
public static void main(String[] args) {
System.out.println(“QueueReceiver启动了...“);
// ConnectionFactory :连接工厂,JMS 用它创建连接
ConnectionFactory connectionFactory;
// Connection :JMS 客户端到JMS Provider 的连接
Connection connection = null;
// Session: 一个发送或接收消息的线程
Session session;
// Destination :消息的目的地;消息发送给谁.
Destination destination;
// 消费者,消息接收者
final MessageConsumer consumer;
connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnection.DEFAULT_USER
ActiveMQConnection.DEFAULT_PASSWORD
“tcp://localhost:61616“);
try {
// 构造从工厂得到连接对象
connection = connectionFactory.createConnection();
// 启动
connection.start();
// 获取操作连接
session = connection.createSession(Boolean.FALSE
Session.AUTO_ACKNOWLEDGE);
// 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置
destination = session.createQueue(“FirstQueue“);
consumer = session.createConsumer(destination);
// while (true) {
// //设置接收者接收消息的时间,为了便于测试,这里谁定为100s
// TextMessage message = (TextMessage) consumer.receive(100000);
// if (null != message) {
// System.out.println(“收到消息“ + message.getText());
// } else {
// break;
// }
// }
/*
* 两种方式均可
* 1,while循环和consumer.receive()结合
* 2,consumer.setMessageListener(new MessageListener() {});
*/
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
try {
message = (TextMessage) consumer.receive();
System.out.println(“收到消息:“+ ((TextMessage) message).getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != connection)
connection.close();
} catch (Throwable ignore) {
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-04-14 11:12 jms\
文件 384 2014-04-17 15:02 jms\.classpath
文件 379 2014-03-21 16:45 jms\.project
目录 0 2014-04-14 11:12 jms\.settings\
文件 598 2014-03-21 16:45 jms\.settings\org.eclipse.jdt.core.prefs
目录 0 2014-04-14 11:12 jms\activemq-data\
目录 0 2014-04-14 11:12 jms\activemq-data\localhost\
目录 0 2014-04-14 11:12 jms\activemq-data\localhost\KahaDB\
文件 33030144 2014-04-18 10:16 jms\activemq-data\localhost\KahaDB\db-1.log
文件 32768 2014-04-18 10:16 jms\activemq-data\localhost\KahaDB\db.data
文件 28720 2014-04-18 10:16 jms\activemq-data\localhost\KahaDB\db.redo
文件 0 2014-04-18 10:10 jms\activemq-data\localhost\KahaDB\lock
目录 0 2014-04-14 11:12 jms\bin\
目录 0 2014-04-14 11:12 jms\bin\com\
目录 0 2014-04-14 11:12 jms\bin\com\rick\
目录 0 2014-04-14 11:12 jms\bin\com\rick\queue\
文件 1307 2014-04-14 11:11 jms\bin\com\rick\queue\Receiver$1.class
文件 2287 2014-04-14 11:11 jms\bin\com\rick\queue\Receiver.class
文件 2649 2014-04-14 11:11 jms\bin\com\rick\queue\Sender.class
文件 1683 2014-04-14 11:11 jms\bin\com\rick\queue\Sender2.class
目录 0 2014-04-14 11:12 jms\bin\com\rick\topic\
文件 572 2014-04-14 11:04 jms\bin\com\rick\topic\MessageObj.class
文件 2578 2014-04-14 11:11 jms\bin\com\rick\topic\TopicReceiver.class
文件 1219 2014-04-14 11:11 jms\bin\com\rick\topic\TopicReceiverDurable$1.class
文件 2020 2014-04-14 11:11 jms\bin\com\rick\topic\TopicReceiverDurable.class
文件 2856 2014-04-14 11:12 jms\bin\com\rick\topic\TopicSender.class
目录 0 2014-04-14 11:12 jms\src\
目录 0 2014-04-14 11:12 jms\src\com\
目录 0 2014-04-14 11:12 jms\src\com\rick\
目录 0 2014-04-14 11:12 jms\src\com\rick\queue\
文件 2919 2014-04-14 11:11 jms\src\com\rick\queue\Receiver.java
............此处省略7个文件信息
相关资源
- 微信小程序开发工具及体验Demo样例
- Qt 多线程及简单 demo
- u-boot_AR9344 DEMO版本
- zTree模糊查询Demo
- ISSCC 2019 论文/PPT/Demo 百度网盘版链接
- .NetCore使用Swagger案例小demo
- LabView FM调制解调模拟
- UniGUI结合Echarts新Demo.rar
- LoginDemoTest.zip
- h323plus音视频聊天Demo
- 有道API翻译Demo
- esp8266 连接阿里物理网平台远程控制
- 微信分享调用jssdk的demo
- intellij idea采用ssm框架实现的数据库增
- excel通用解析xlsx+xlsdemo
- django+ajaxfileupload文件上传demo
- qt5QjsonDemo
- 高德地图自定义地图apidemo
- springMVC配置连接数据库实现登录功能
- demo_008_validate.zip
- Serial Port Api Sample Demo
- 一个仿淘宝和京东商品详情上拉查看
- ImageList加载BMP在ListCtrl中显示的Demo
-
简单三层Entity fr
amework Demo - 使用LabVIEW实现网页数据提取与交互
- springboot webscoket 实现群聊,点对点聊
- RN7302_Demo_V1.1
- H5 蓝牙模块数据传输demo
- IOSK线蜡烛OHLC图Demo
- ios端分时线demo-包含十字叉效果
评论
共有 条评论