`

ActiveMQ StreamMessage

 
阅读更多
package org.abin.lee.activemq;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MapMessage;
import javax.jms.MessageProducer;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class MapSender {

private static final int SEND_NUMBER = 5;

public static void main(String[] args) {
  ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
    ActiveMQConnection.DEFAULT_USER,
    ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");
  Connection connection = null;
  Session session;
  Destination destination = null;
  MessageProducer messageProducer;
  try {
   connection=connectionFactory.createConnection();
   connection.start();
   session=connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
   destination=session.createQueue("FirstQueue");
   messageProducer=session.createProducer(destination);
   messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
  
   MapMessage map=session.createMapMessage();
   map.setBoolean("flag", true);
   map.setDouble("dou", 1.01);
   map.setInt("zx", 88);
   map.setString("zifu", "zzzzzz");
   messageProducer.send(map);
   session.commit();
  } catch (Exception e) {
   e.printStackTrace();
  }
}


}








package org.abin.lee.activemq;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MapMessage;
import javax.jms.MessageConsumer;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class MapReceiver {public static void main(String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
   ActiveMQConnection.DEFAULT_USER,
   ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");
Connection connection = null;
Session session;
Destination destination;
MessageConsumer consumer;
try {
  connection = connectionFactory.createConnection();
  connection.start();
  session = connection.createSession(Boolean.FALSE,
    Session.AUTO_ACKNOWLEDGE);
  destination = session.createQueue("FirstQueue");
  consumer = session.createConsumer(destination);
  while(true){
   MapMessage map=(MapMessage)consumer.receive(500000);
   if (null != map) {
    boolean flag=map.getBoolean("falg");
    System.out.println("AcitveMQ 接收到的消息  flag="+flag);
    double dou=map.getDouble("dou");
    System.out.println("AcitveMQ 接收到的消息  dou="+dou);
    int zx=map.getInt("zx");
    System.out.println("AcitveMQ 接收到的消息  zx="+zx);
    String zifu=map.getString("zifu");
    System.out.println("AcitveMQ 接收到的消息  zifu="+zifu);
   }else
    break;

  }
 
  

} catch (Exception e) {
  e.printStackTrace();
}

}
}
分享到:
评论

相关推荐

    ActiveMQ客户端

    4. **消息类型**:JMS定义了五种消息类型:TextMessage(文本消息)、ObjectMessage(Java对象)、BytesMessage(字节流)、MapMessage(键值对)和StreamMessage(连续的数据流)。 5. **持久化**:ActiveMQ支持...

    activemq

    - **StreamMessage**:携带原始值流。 - **Message**:不包含有效负载的消息。 - **消息模型**: - **Point-to-Point (P2P)**:点对点消息模型,确保每条消息只被一个消费者接收。 - **Publish/Subscribe (Pub/...

    ActiveMq总结.docx

    - **StreamMessage**:包含一系列基本数据类型的有序流。 - **MapMessage**:包含一系列键值对的数据结构,类似于Java中的Map。 - **TextMessage**:包含文本消息。 - **ObjectMessage**:包含序列化的Java对象。 - ...

    ActiveMQ使用入门.pdf

    - **Message**:消息对象,包括消息头(必填)、属性(可选)和消息体(可选),有五种类型:TextMessage、MapMessage、ByteMessage、StreamMessage和ObjectMessage。 3. ActiveMQ的安装与运行 ActiveMQ的安装非常...

    ActiveMQ(中文)参考手册

    JMS 定义的消息类型有 TextMessage、MapMessage、BytesMessage、StreamMessage 和 ObjectMessage。 JMS 可靠性机制 JMS 提供了以下几种可靠性机制: * 确认机制:JMS 消息只有在被确认之后,才认为已经被成功地...

    ActiveMQ实例,源代码

    ActiveMQ 支持多种消息类型,如 TextMessage、ObjectMessage 和 StreamMessage 等。 - **生产者(Producer)**:生产者是创建和发送消息的组件,它负责将应用程序的数据封装成消息并发送到消息队列。 - **消费者...

    ActiveMQ 简单例子源码 包含操作说明

    ActiveMQ 支持多种消息类型,如 TextMessage、ObjectMessage、MapMessage、StreamMessage 等,可以根据应用需求选择合适的消息格式。例如,TextMessage 用于传递文本数据,ObjectMessage 可以序列化 Java 对象作为...

    ActiveMQ开发实例-6

    - **StreamMessage**: 用于发送Java基本类型的有序数据流。 - **MapMessage**: 用于发送键值对数据。 - **TextMessage**: 用于发送纯文本字符串。 - **ObjectMessage**: 用于发送序列化的Java对象。 - **...

    ActiveMQ 实战

    消息体则定义了消息内容的具体类型,JMS定义了文本消息(TextMessage)、映射消息(MapMessage)、字节消息(BytesMessage)、流消息(StreamMessage)和对象消息(ObjectMessage)。 JMS规范还定义了可靠性机制,...

    activeMQ总结

    消息体包括五种类型:ByteMessage、MapMessage、ObjectMessage、StreamMessage和TextMessage。 通信方式 JMS提供了两种通信模式: 1. 点对点(Point-to-Point):每个消息仅有一个消费者,消息发送后,消费者可以...

    JMS_ActiveMQ交流学习

    常见的消息类型有`TextMessage`、`MapMessage`、`BytesMessage`、`StreamMessage`和`ObjectMessage`。 7. **目的地 (Destination)** - 用来指定消息的目标和消息来源的对象,分为两种类型:队列(Queue)和主题...

    spring boot ActiveMQ学习练习demo项目源码

    4. **Stream消息**:`StreamMessage`类似于Byte消息,但它允许连续不断地写入和读取字节流,而不必一次性加载整个消息到内存中,适合处理大容量数据。 5. **Object消息**:Spring提供了一个特殊的功能,允许我们...

    ActiveMQ中文手册

    * 消息体:JMS定义的消息类型有TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage。 5. JMS可靠性机制 * 确认:JMS消息只有在被确认之后,才认为已经被成功地消费了。 * 持久性:JMS支持以下...

    ActiveMQ简单教程

    根据数据类型,JMS 消息有五种主要类型:TextMessage(文本消息)、ObjectMessage(序列化对象)、MapMessage(属性集合)、BytesMessage(字节数组)和 StreamMessage(原始值流)。 **ActiveMQ 的安装与配置** ...

    activeMq 实战

    - **消息体** (`Message Body`):JMS 定义了多种消息类型,包括 `TextMessage`、`MapMessage`、`BytesMessage`、`StreamMessage` 和 `ObjectMessage`。 #### 1.2 JMS 的可靠性机制 JMS 规范提供了一系列机制来保证...

    ActiveMQ 消息队列

    - **StreamMessage**:用于发送原始数据流,如整型、浮点型等基本数据类型。 - **MapMessage**:用于发送键值对数据,类似于Map集合。 - **TextMessage**:用于发送文本字符串消息。 - **ObjectMessage**:用于发送...

    ActiveMQ技术研究要点

    消息体支持多种类型,如TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage。 JMS提供了可靠性机制来确保消息传输的完整性: 1. **确认**(Acknowledgement):消息只有在确认后才被认为是被...

    java操作activeMQ(java项目代码及jar包可运行,队列和订阅模式)

    - `StreamMessage`:连续流式数据。 5. **持久化和事务**: - ActiveMQ支持消息持久化,即使服务器重启,未消费的消息也不会丢失。 - 通过`Session`的事务管理,可以确保消息的原子性,确保消息要么全部成功发送...

Global site tag (gtag.js) - Google Analytics