`
greemranqq
  • 浏览: 972119 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

activemq topic demo

    博客分类:
  • JMS
阅读更多

         这里仅仅记录下topic 模式的的消息情况:

     

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

import javax.jms.*;
import java.io.Serializable;

/**
 * Created by qiqiang on 2014/12/11.
 */
public class Sender {
    static ConnectionFactory factory; //连接工厂
    static Connection connection;//jms连接
    static Session session;//发送、接收线程
    static Destination destination;//消息目的地
    static MessageProducer producer;//消息发送者
    public static void main(String[] args) throws  Exception{
        try {
            factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
            connection = factory.createConnection();
            connection.start();
            session = connection.createSession(true,Session.AUTO_ACKNOWLEDGE);
            Topic topic = session.createTopic("orderTopic");
            producer = session.createProducer(topic);
            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
            for(int i=0;i<10;i++){
                ObjectMessage message =  session.createObjectMessage(new Order(i,"name"+i));
                producer.send(message);
                System.out.println("发送消息:"+i);
            }
            session.commit();

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            session.close();
            connection.close();;
        }
    }
}

class  Order implements Serializable {
    int i = 0;
    String name ;

    Order(int i, String name) {
        this.i = i;
        this.name = name;
    }

    @Override
    public String toString() {
        return "Order{" +
                "i=" + i +
                ", name='" + name + '\'' +
                '}';
    }
}

 

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * Created by qiqiang on 2014/12/11.
 */
public class Getter {
    public static void main(String[] args) {
        ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("failover:(tcp://localhost:61616)?initialReconnectDelay=10");
        try {
            Connection connection = factory.createConnection();
            connection.start();
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            Topic topic = session.createTopic("orderTopic");
            MessageConsumer consumer = session.createConsumer(topic);
            consumer.setMessageListener(new MessageListener() {
                public void onMessage(Message message) {
                    ObjectMessage tm = (ObjectMessage) message;
                    try {
                        System.out.println("Received message: " + tm.getObject());
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }

}

 

分享到:
评论

相关推荐

    ActiveMQ中Topic持久化Demo

    本篇主要围绕"ActiveMQ中Topic持久化Demo"进行深入探讨,旨在帮助读者理解如何在ActiveMQ中实现Topic的持久化。 ActiveMQ 是一个功能强大的消息代理,支持多种协议,包括 OpenWire、STOMP、AMQP 和 MQTT。它提供了...

    activemq-demo

    1. **配置文件**:Spring的XML配置文件(如`applicationContext.xml`)会包含ActiveMQ的相关配置,如`ConnectionFactory`、目的地(Queue或Topic)以及消息监听器的设置。 2. **生产者代码**:这部分代码负责创建并...

    activemq_demo,activeMQ的简单demo

    5. **消息模型**:ActiveMQ支持两种基本的消息模型:点对点(Queue)和发布/订阅(Topic)。前者基于队列,消息只能被一个消费者接收;后者基于主题,消息可以被多个订阅者接收。 6. **消息持久化**:ActiveMQ允许...

    ActiveMQ Topic 实例

    在`ActiveMQ Topic Demo`压缩包中,可能包含了发布者和订阅者的Java程序,以及运行这些程序所需的配置文件和依赖库。解压文件后,根据提供的说明文档编译并运行这些示例,你将能看到消息是如何在Topic中发布的,并被...

    spring-boot-activemq-demo

    在本示例项目"spring-boot-activemq-demo"中,我们关注的是如何将Spring Boot与Apache ActiveMQ集成,以实现高效的消息传递功能。ActiveMQ是Apache软件基金会的一个开源项目,它是Java消息服务(JMS)的实现,提供了...

    ActiveMQ简单demo

    - **订阅模型**:除了点对点(队列)通信,ActiveMQ还支持发布/订阅模型,即主题(Topic)。 - **网络连接**:ActiveMQ可以跨多个网络节点部署,实现集群和高可用性。 - **性能监控**:利用ActiveMQ的Web控制台,...

    ActiveMQ实例Demo

    **ActiveMQ实例Demo详解** Apache ActiveMQ是一款开源的消息中间件,它是Java消息服务(JMS)的实现,广泛应用于分布式系统中的异步通信。ActiveMQ以其高性能、高可靠性以及丰富的特性,成为许多企业级应用首选的...

    自己写的ActiveMQ的Demo例子

    这个 ActiveMQ Demo 展示了如何使用 ActiveMQ 进行消息传递,包括生产者和消费者的基本操作,以及如何配置 ActiveMQ 的持久化机制。理解这些概念和实践对于构建基于消息驱动的分布式系统至关重要,因为它们有助于...

    springboot集成activemq实现消息接收demo

    此外,ActiveMQ支持多种协议和特性,如topic、持久化、事务消息等,可以根据项目需求进一步探索和利用。 这个简单的Demo展示了如何在Spring Boot中集成ActiveMQ进行消息接收。通过这种方式,你可以构建出一个可靠的...

    activeMQ初学使用demo

    本初学使用DEMO将带你走进ActiveMQ的世界,通过队列(Queue)和主题(Topic)两种消息模型来了解其基本用法。 1. **ActiveMQ简介**: - ActiveMQ 是Apache软件基金会的一个项目,它提供了一个跨语言、跨平台的消息...

    activeMQ实战demo

    5. **消息类型和模式**:ActiveMQ支持点对点(Queue)和发布/订阅(Topic)两种消息模式。点对点模式下,消息仅被一个消费者接收;发布/订阅模式下,消息可以被多个订阅者接收。 6. **高级特性**:ActiveMQ还提供了...

    springboot2整合activemq的demo内含queue消息和topic消息

    这个“springboot2整合activemq的demo”提供了一个实际的例子,帮助开发者理解如何在Spring Boot应用中使用ActiveMQ实现消息队列的功能。以下是关于这个主题的详细知识点: 1. **Spring Boot 2**: - Spring Boot ...

    ActiveMQ简单Demo案例

    在这个"ActiveMQ简单Demo案例"中,我们将探讨如何使用ActiveMQ搭建服务器,并创建生成者(Producer)和消费者(Consumer)对象。 首先,我们需要理解JMS的概念。JMS是一个标准,定义了与消息传递系统交互的API,...

    activemq-demo.zip

    3. **消息类型**:在ActiveMQ中,有三种主要的消息类型:点对点(Queue)、发布/订阅(Topic)和临时队列/主题。点对点模式适用于一对一通信,而发布/订阅模式则适用于一对多广播。 4. **持久化**:ActiveMQ支持...

    spring activeMQ-demo 配置

    2. **配置ActiveMQ**: 可以通过web管理界面(默认http://localhost:8161/admin)来创建Topic或Queue,也可以在配置文件(conf/activemq.xml)中预先配置。 **二、Spring配置** 1. **JMS配置**: 在Spring的配置文件...

    activeMQ demo

    本文将深入探讨如何使用SpringBoot集成ActiveMQ,并提供一个完整的示例,同时讲解MQ界面的简单配置,涉及点对点消息模式和主题(Topic)订阅模式。 首先,我们需要理解ActiveMQ的基本概念。ActiveMQ是Apache出品的...

    ActiveMQ-Topic订阅发布模式Demo

    本示例“ActiveMQ-Topic订阅发布模式Demo”主要关注的是发布/订阅模式,这是一种一对多的消息传递方式。在发布/订阅模式中,生产者(Publisher)发送消息到一个主题(Topic),而多个消费者(Subscriber)可以订阅这...

    activeMQ的一个简单的demo

    在这个"activeMQ的一个简单的demo"中,我们可以看到一个可以直接运行的示例项目,包含了所有必要的组件,如Java源代码、配置文件和依赖的jar包。 首先,让我们了解ActiveMQ的基本概念。ActiveMQ作为消息代理,它...

Global site tag (gtag.js) - Google Analytics