- 浏览: 158902 次
- 性别:
- 来自: 魔都
最新评论
-
renzhengzhi:
mybatis的这个批量insert为什么不是在一个事务里?
使用Mybatis做批量插入 -
forlab:
花架构威武吧唧,一统江湖
Eclipse插件之Findbugs -
恋上你的味道:
花家狗V587 神功盖屎 一桶浆糊
Netty+Tomcat热部署端口占用解决办法 -
hekuilove:
宁帅陈 写道你好,我想通过java程序获取@当前登录用户的人员 ...
新浪微博API开发流程 -
宁帅陈:
你好,我想通过java程序获取@当前登录用户的人员以及信息,怎 ...
新浪微博API开发流程
1、TextMessage
发送部分
接收部分
2、BytesMessage
发送部分
接收部分
发送部分
package org.quinn.activemq; 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.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class SendMessage { public static void main(String[] args) { ConnectionFactory factory; //连接工厂 Connection connection;//jms连接 Session session;//发送、接收线程 Destination destination;//消息目的地 MessageProducer producer;//消息发送者 factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); try { connection = factory.createConnection(); connection.start(); session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("FirstQueue"); producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); //是否为持久化 ,NON_PERSISTENT非持久化 ,PERSISTENT持久化 for (int i = 11; i < 13; i++) { String msg = "第" + i + "次发送消息"; TextMessage textMessage = session.createTextMessage(msg); producer.send(textMessage); } session.commit(); } catch (JMSException e) { e.printStackTrace(); } } }
接收部分
package org.quinn.activemq; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageConsumer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection; public class ReceivedMessage { /** * @param args */ public static void main(String[] args) { ConnectionFactory factory; Connection connection = null; Session session; Destination destination; MessageConsumer consumer; factory = new org.apache.activemq.ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); try { connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("FirstQueue"); consumer = session.createConsumer(destination); while (true) { TextMessage textMessage = (TextMessage) consumer.receive(); if (textMessage != null){ System.out.println(textMessage.getText()); } Thread.sleep(1000); } } catch (JMSException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } finally { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } }
2、BytesMessage
发送部分
package org.quinn.activemq; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import javax.jms.BytesMessage; 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 org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class SendBytesMessage { public static void main(String[] args) { ConnectionFactory factory; //连接工厂 Connection connection;//jms连接 Session session;//发送、接收线程 Destination destination;//消息目的地 MessageProducer producer;//消息发送者 factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); try { connection = factory.createConnection(); connection.start(); session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("FirstQueue"); producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); BytesMessage bytesMessage = session.createBytesMessage(); File fil = new File("C:\\Users\\WS-SH-L1051\\Desktop\\a.txt"); InputStream is = new FileInputStream(fil); byte by[] = new byte[is.available()]; is.read(by); bytesMessage.writeBytes(by); producer.send(destination, bytesMessage); is.close(); session.commit(); } catch (JMSException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
接收部分
package org.quinn.activemq; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; 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.Session; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.command.ActiveMQBytesMessage; public class ReceivedBytesMessage { /** * @param args */ public static void main(String[] args) { ConnectionFactory factory; Connection connection = null; Session session; Destination destination; MessageConsumer consumer; factory = new org.apache.activemq.ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); try { connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("FirstQueue"); consumer = session.createConsumer(destination); while (true) { Message msg = consumer.receive(); if(msg instanceof ActiveMQBytesMessage){ ActiveMQBytesMessage bytesMessage = (ActiveMQBytesMessage) msg; if (bytesMessage != null){ byte []bt = new byte[(int) bytesMessage.getBodyLength()]; bytesMessage.readBytes(bt); File fil =new File("C:\\Users\\WS-SH-L1051\\Desktop\\b.txt"); if(!fil.exists()){ fil.createNewFile(); } OutputStream os = new FileOutputStream(fil); os.write(bt); os.close(); } } Thread.sleep(1000); } } catch (JMSException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } }
发表评论
-
JVM相关笔记
2019-01-30 21:19 5021、检查死锁 jps -v [查看所有Java进 ... -
Git常用命令记录
2019-01-08 11:20 536强制更新 git log git reset --hard ... -
Netty+Tomcat热部署端口占用解决办法
2015-06-13 17:32 8300在eclipse使用maven deploy (tomcat: ... -
MAVEN+TOMCAT7、8的Deploy配置
2015-06-13 13:46 41、配置好conf/tomcat-users.xml,加入如下 ... -
javascript之HashMap
2015-04-16 11:23 1223用法 var map = new HashMap(); ... -
发现面向对象的美之抽象
2014-09-19 11:56 0很多开发者在面试的时候恐怕都问过或者被问过,面向对象的几大特性 ... -
ActiveMQ初级教程
2014-05-20 18:07 2697MQ的思想其实和连接池差不多,只不过一个是队列,一个是多线程。 ... -
Mybatis批量插入Oracle、MySQL
2014-05-19 16:09 5206要做批量插入数据库, ... -
UDP通讯协议
2014-02-20 21:01 1243在做手机和服务端通讯时,UDP是其中可用协议之一。不过UDP的 ... -
JBOSS7配置JDNI
2014-02-13 21:52 13101、配置jar包 在jboss7的安装目录modules下建立 ... -
自定义DWR拦截器
2013-06-04 19:07 4550使用DWR和其它mvc框架混用时(如struts和spring ... -
Eclipse+TOMCAT工程如何deploy在webapps文件夹
2013-02-05 20:10 4820Eclipse集成Tomcat发布工程的时候,有时候项目发布不 ... -
根据时间的复杂统计
2012-12-07 18:24 1310客户的需求往往是各种各样的,本人在开发系统的时候遇到一个比较复 ... -
MySQL UTF-8中文排序
2012-06-15 16:08 2896假如在MySQL的表中有一列字段是中文,需要根据该字段从a-z ... -
关于:the last packet sent successfully to the server was 0 milliseconds ago
2012-04-20 10:11 2748最近老是出现个问题,早上以来公司登录公司的后台业务系统(由我是 ... -
使用Mybatis做批量插入
2012-03-30 19:50 30588最近有个需求,将excel的数据导入的数据库的这个一个操作。 ... -
jquery ajax parseerror问题
2012-03-03 12:32 3888以前都是用ajax做一些简单的东东,很少用ajax做查询。今日 ... -
过滤器chain.doFilter(req, resp);抛异常java.lang.IllegalArgumentException
2012-02-08 21:35 2598今天在开发中遇到一个错误 org.springframew ... -
关于maven工程内存溢出解决办法
2012-01-04 14:17 2188在看maven in action的时候意外发现我们项目中经常 ...
相关推荐
消息类型在ActiveMQ中包括TextMessage(文本消息)、ObjectMessage(对象消息)、BytesMessage(字节消息)和MapMessage(映射消息),每种类型都有其特定的应用场景。 为了确保高可用性和容错性,ActiveMQ支持多种...
发送者可以使用MessageProducer接口来创建和发送消息,包括TextMessage、ObjectMessage、BytesMessage等不同类型的消息格式。发送端可以设置消息的优先级、延迟发送、持久化等属性,以满足不同业务需求。 ### 3. ...
* Message:消息体,分为TextMessage、MapMessage、BytesMessage等等 消息传输流程 Activemq的消息传输流程可以分为发送消息和接收消息两个步骤: 发送消息的基本步骤: 1. 创建连接使用的工厂类JMS ...
4. **消息类型**:JMS定义了五种消息类型:TextMessage(文本消息)、ObjectMessage(Java对象)、BytesMessage(字节流)、MapMessage(键值对)和StreamMessage(连续的数据流)。 5. **持久化**:ActiveMQ支持...
5. **消息类型**:ActiveMQ支持TextMessage、ObjectMessage、BytesMessage和MapMessage四种基本消息类型。 6. **消息持久化**:通过设置Message的持久化属性,可以在服务器重启后仍保留消息。这对于实现高可用性和...
ActiveMQ提供了多种消息类型,包括TextMessage(文本消息)、ObjectMessage(序列化对象消息)、BytesMessage(二进制消息)等。每种消息类型都有其适用的场景,例如,TextMessage适合传输文本数据,而ObjectMessage...
JMS 定义的消息类型有 TextMessage、MapMessage、BytesMessage、StreamMessage 和 ObjectMessage。 JMS 可靠性机制 JMS 提供了以下几种可靠性机制: * 确认机制:JMS 消息只有在被确认之后,才认为已经被成功地...
在Spring JMS中,使用`JmsTemplate.convertAndSend()`方法可以发送TextMessage,而`MessageListener`接口的`onMessage(Message msg)`方法则用于接收。 2. **MapMessage**: MapMessage允许你以键值对的形式存储和...
- **消息类型**:包括TextMessage、ObjectMessage、MapMessage和BytesMessage,根据数据类型选择合适的。 4. **消息持久化** - **消息持久化机制**:当服务器重启时,确保未被消费的消息不会丢失。 - **消息策略...
- **发布/订阅**:在这种模式下,消息被发送到一个主题,所有订阅了该主题的接收者都将接收到消息。这种方式适用于广播式的消息传输场景。 - **点对点**:在这种模式下,消息被发送到一个队列,每个消息只能被一个...
在ActiveMQ中,Message支持多种类型,如TextMessage、ObjectMessage、BytesMessage等,以满足不同数据格式的需求。同时,Message还包含头信息(Header)、属性(Property)和身体(Body),这些元素共同构成了完整...
- `Message`: 包含要传输的数据,可以是TextMessage、ObjectMessage、BytesMessage等不同类型,支持不同的数据格式。 4. **事务处理** - 在ActiveMQ API中,事务管理是通过Session实现的。如果会话被配置为事务性...
JMS支持多种消息类型,如TextMessage、ObjectMessage、BytesMessage等。 2. **生产者(Producer)**:生产者是创建并发送消息的组件。在代码中,我们通过创建`MessageProducer`对象并调用其`send()`方法来发送消息...
- **BytesMessage**: 用于发送未经解释的字节流数据。 #### 五、JMS应用程序接口 - **ConnectionFactory**: 提供创建到JMS提供者的连接的功能,通过它创建的Connection对象是与特定JMS提供者之间的会话。 - **...
在这个项目中,我们将深入探讨如何在Spring Boot应用中配置、发送和接收五种不同类型的消息:text、map、byte、stream以及object。 首先,我们需要理解Spring Boot和ActiveMQ的基本概念。Spring Boot是Spring框架的...
消息体则定义了消息内容的具体类型,JMS定义了文本消息(TextMessage)、映射消息(MapMessage)、字节消息(BytesMessage)、流消息(StreamMessage)和对象消息(ObjectMessage)。 JMS规范还定义了可靠性机制,...
在实际开发过程中,可以通过编写Java代码来发送和接收消息,利用JMS API与ActiveMQ建立连接。以下是一个简单的JMS消息发送和接收的例子: ```java // 发送消息 ConnectionFactory connectionFactory = new ...
- `MessageProducer`和`MessageConsumer`:用于发送和接收消息的对象,通过`createProducer()`和`createConsumer()`方法创建。 4. **消息类型**: - `TextMessage`:包含纯文本消息。 - `ObjectMessage`:序列化...