`
zhaohaolin
  • 浏览: 1011141 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ActiveMQ 实例

    博客分类:
  • JMS
阅读更多

2009-06-24

ProducerTool.java用于发送消息:

 

  1. import javax.jms.Connection;     
  2. import javax.jms.DeliveryMode;     
  3. import javax.jms.Destination;     
  4. import javax.jms.JMSException;     
  5. import javax.jms.MessageProducer;     
  6. import javax.jms.Session;     
  7. import javax.jms.TextMessage;     
  8.     
  9. import org.apache.activemq.ActiveMQConnection;     
  10. import org.apache.activemq.ActiveMQConnectionFactory;     
  11.     
  12. public class ProducerTool {     
  13.     
  14.     private String user = ActiveMQConnection.DEFAULT_USER;     
  15.     
  16.     private String password = ActiveMQConnection.DEFAULT_PASSWORD;     
  17.     
  18.     private String url = ActiveMQConnection.DEFAULT_BROKER_URL;     
  19.     
  20.     private String subject = "TOOL.DEFAULT";     
  21.     
  22.     private Destination destination = null;     
  23.     
  24.     private Connection connection = null;     
  25.     
  26.     private Session session = null;     
  27.     
  28.     private MessageProducer producer = null;     
  29.     
  30.     // 初始化     
  31.     private void initialize() throws JMSException, Exception {     
  32.         ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(     
  33.                 user, password, url);     
  34.         connection = connectionFactory.createConnection();     
  35.         session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);     
  36.         destination = session.createQueue(subject);     
  37.         producer = session.createProducer(destination);     
  38.         producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);     
  39.     }     
  40.     
  41.     // 发送消息     
  42.     public void produceMessage(String message) throws JMSException, Exception {     
  43.         initialize();     
  44.         TextMessage msg = session.createTextMessage(message);     
  45.         connection.start();     
  46.         System.out.println("Producer:->Sending message: " + message);     
  47.         producer.send(msg);     
  48.         System.out.println("Producer:->Message sent complete!");     
  49.     }     
  50.     
  51.     // 关闭连接     
  52.     public void close() throws JMSException {     
  53.         System.out.println("Producer:->Closing connection");     
  54.         if (producer != null)     
  55.             producer.close();     
  56.         if (session != null)     
  57.             session.close();     
  58.         if (connection != null)     
  59.             connection.close();     
  60.     }     
  61. }      

 

ConsumerTool.java用于接受消息,我用的是基于消息监听的机制,需要实现MessageListener接口,这个接口有个onMessage方法,当接受到消息的时候会自动调用这个函数对消息进行处理。

 

  1. import javax.jms.Connection;     
  2. import javax.jms.Destination;     
  3. import javax.jms.JMSException;     
  4. import javax.jms.MessageConsumer;     
  5. import javax.jms.Session;     
  6. import javax.jms.MessageListener;     
  7. import javax.jms.Message;     
  8. import javax.jms.TextMessage;     
  9.     
  10. import org.apache.activemq.ActiveMQConnection;     
  11. import org.apache.activemq.ActiveMQConnectionFactory;     
  12.     
  13. public class ConsumerTool implements MessageListener {     
  14.     
  15.     private String user = ActiveMQConnection.DEFAULT_USER;     
  16.     
  17.     private String password = ActiveMQConnection.DEFAULT_PASSWORD;     
  18.     
  19.     private String url = ActiveMQConnection.DEFAULT_BROKER_URL;     
  20. padding-top: 0px !important; padding-right: 3px !important; paddin
    分享到:
    评论

相关推荐

    ActiveMQ实例

    **ActiveMQ实例详解** ActiveMQ,作为Apache软件基金会的一个开源项目,是业界广泛使用的消息中间件,它遵循Java Message Service(JMS)标准,提供高效、可靠的异步通信能力。在分布式系统中,ActiveMQ扮演着至关...

    ActiveMQ实例应用

    ActiveMQ是Apache软件基金会的一个开源项目,它是一个功能强大的消息中间件,支持多种消息协议,如OpenWire、AMQP、STOMP等。在本文中,我们将深入探讨ActiveMQ在点对点(Point-to-Point)消息传递和发布-订阅...

    ActiveMQ实例,源代码

    - **可扩展性(Scalability)**:随着业务增长,可以通过增加 ActiveMQ 实例来横向扩展。 ### 4. ActiveMQ 的源代码分析 在提供的源代码实例中,我们可以深入研究 ActiveMQ 的 API 使用、消息生产与消费的实现、队列...

    activemq实例

    总结,这个"activemq实例"展示了如何使用ActiveMQ实现点对点消息通信,以及如何通过支持多种协议实现跨系统的互操作性。ejb_mq_03和ejb_mq_03_client提供了具体的实现细节,有助于开发者理解和应用这些概念。理解并...

    activeMQ实例

    【ActiveMQ实例详解】 在IT行业中,消息队列(Message Queue,简称MQ)是一种重要的中间件,用于在分布式系统中解耦组件之间的通信,提高系统的响应速度和可扩展性。ActiveMQ是Apache软件基金会开发的一款开源消息...

    ActiveMQ实例---分布式发送邮件

    在这个"ActiveMQ实例---分布式发送邮件"的案例中,我们将探讨如何利用ActiveMQ实现分布式环境下的邮件发送功能。 首先,让我们了解一下ActiveMQ的基本概念。ActiveMQ是一个实现了多种消息协议(如OpenWire、STOMP、...

    C# ActiveMQ 实例

    **C# ActiveMQ实例详解** 在信息技术领域,消息中间件起着至关重要的作用,它能够帮助应用程序之间进行异步通信,提高系统的可扩展性和可靠性。ActiveMQ是Apache软件基金会开发的一款开源消息代理,支持多种协议,...

    ActiveMQ实例Demo

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

    springboot整合activemq实例

    与我写的博客配套的,springboot整合activemq的项目实例,看我写的博客,在搭配实例可以非常快速的学会并使用avtivemq。 在先学习整合之前先了解一下ActiaveMQ,ActiveMQ是早期MQ产品之一,是使用JAVA语言编写。大...

    SpringBoot集成ActiveMQ实例详解.docx

    在本文中,我们将深入探讨如何在Spring Boot应用中集成ActiveMQ,这是一个强大的Java消息服务(JMS)实现。首先,我们需要理解JMS的基本概念。Java消息服务(JMS)是Java平台上的一个标准API,它定义了应用程序如何...

    JMS-activemq 实例(分ppt,eclipse工程,说明三部分)

    在这个实例中,`JMS-activemq` 提供了三种不同的组成部分: 1. **PPTX文件(activemq.pptx)** - 这通常是一个演示文稿,详细介绍了JMS和ActiveMQ的基础知识、工作原理以及如何使用它们。它可能包含概念解释、架构...

    基于Maven的ActiveMQ的简单实例

    在创建基于Maven的ActiveMQ实例时,我们需要在pom.xml中添加ActiveMQ相关的依赖。首先,确保你的Maven环境已经正确安装并配置。然后,在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.activemq ...

    消息队列-activemq入门实例.zip

    三、ActiveMQ实例解析 在提供的压缩包中,有三个示例文件,分别对应了消息队列中的生产者、消费者和订阅者角色: 1. activemq-demo-sub:这是订阅者示例,它会订阅特定的消息主题或队列,等待接收来自生产者的消息...

    activemq-dockerfile:activemq 实例的 Docker 文件

    activemq-dockerfile activemq 实例的 Docker 文件 [ ] ./docker-build.sh ./docker-run.sh 享受

Global site tag (gtag.js) - Google Analytics