资源简介
自己写的一个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个文件信息
相关资源
- 易语言播放器组件无缝转换(Demo2.e)
- cc2541 BLE DEMO
- stm32f030 IAP Demo(原创)
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- CListCtrlExDemo.rar
- 易语言-海康威视SDK-DEMO
- ssm框架登录注册demo
- RK3399 DEMO官方原厂 PCB 原理图以及周边
- MQTT推送Demo
- 微信小程序驾照考试题库demo完整
- redisson的demo
- bootstrap demo 源码大全
- springboot+rabbitmq项目demo(亲测可正常运
- 美松打印机SDK MsPrintSDK-Demo-DLL-CShare-
- 基于pytorch的UNet_demo实现及训练自己的
- 百度API车牌识别DEMO.rar
- stm32f105-usart-DMA收发demo
- springboot+webflux+mongodb+freemarker
- springboot整合activiti完整demo
- RFID读写demo
- 以鼠标位置为中心的滑轮放大功能d
- 基于Zxing的二维码条形码扫描和生成
- 手机基站数据Demo
- iOS Swift简单Demo
- 海康摄像头+web3.0开发包SDK的demo
- 微信小程序开发视频+demo
- 海康SDK delphi demo
- SAML协议交互,实现工程Demo有注释
- 增值税发票电子发票导入接口规范官
- 海康监控视频接入视频demo及操作手册
评论
共有 条评论