`
holdbelief
  • 浏览: 707501 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache ActiveMQ教程(六)

    博客分类:
  • JMS
阅读更多

Apache ActiveMQ教程(六)

4Publisher端(publish.jsp)实现:

jms-test目录下新建publish.jsp文件:

 

<%@ page language="java" import="javax.jms.*" pageEncoding="GBK"%>

<%@ page language="java" import="javax.naming.*"%>

<%@ page language="java" import="org.apache.activemq.ActiveMQConnectionFactory"%>

 

<%

    try {

        InitialContext initCtx = new InitialContext();

        Context envContext = (Context) initCtx.lookup("java:comp/env");

       ConnectionFactory connectionFactory = (ConnectionFactory) envContext.lookup("jms/NormalConnectionFactory");

        Connection connection = connectionFactory.createConnection();

        Session jmsSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        MessageProducer producer = jmsSession.createProducer((Destination) envContext.lookup("jms/topic/MyTopic"));

       

        //设置持久方式

        producer.setDeliveryMode(DeliveryMode.PERSISTENT);

 

        Message testMessage = jmsSession.createMessage();

        //发布刷新文章消息

        testMessage.setStringProperty("RefreshArticleId", "2046");   

        producer.send(testMessage);

        //发布刷新帖子消息

        testMessage.clearProperties();

        testMessage.setStringProperty("RefreshThreadId", "331");

        producer.send(testMessage);

    } catch (NamingException e) {

        e.printStackTrace();

    } catch (JMSException e) {

        e.printStackTrace();

    }

%>

 

PublisherListner之间通过MessagesetStringPropertygetStringProperty方法,实现对应的业务逻辑。

上述示例代码中,RefreshArticleId代表刷新某篇文章,RefreshThreadId代表刷新某个帖子,property值保持对应的ID。当然用户可根据实际需求灵活地使用。

5、运行Demo

5.1 启动ActiveMQ服务器

5.2 启动Tomcat服务器:JMSListener将自动连接ActiveMQ broker,日志信息:

Successfully connected to tcp://localhost:61616

5.3 访问http://localhost:8080/jms-test/publish.jsp

Tomcat服务器日志将提示:

接收刷新文章消息,开始刷新文章ID=2046

接收刷新论坛帖子消息,开始刷新帖子ID=331

5.4 访问http://localhost:8161/admin/topics.jsp查看MY.TEST.FOO消息日志,分别发送和接收2条。

至此,已成功完成ActiveMQTomcat的基本整合!

PublisherListener完全可以独立部署到不同的Web服务器上,并通过ActiveMQ来进行消息传递,实现用户所需的业务逻辑。

 

测试持久消息的具体步骤:

l 启动Publisher所在Web服务器

l 启动ActiveMQ

l 访问publish.jsp发送消息,此时Listener还未启动,消息将保存在ActiveMQbin\activemq-data目录下,查看日志可以看到发送2条,接收0

l 启动Listener所在Web服务器,将自动接收到ActiveMQ的持久消息并处理,查看日志:发送2条,接收2条,表明持久消息应用成功!

分享到:
评论

相关推荐

    Apache+ActiveMQ教程

    通过阅读提供的"Apache+ActiveMQ教程.pdf",你可以更深入地学习如何利用这些功能来优化你的系统架构。 总的来说,Apache ActiveMQ是一个强大且灵活的消息中间件,它与Spring的无缝集成使开发人员能够构建健壮、高效...

    Apache_ActiveMQ教程

    Apache ActiveMQ是一种开源的、支持多协议的、可运行于任何JVM的高性能消息中间件,它实现了Java消息服务(JMS)规范,并支持J2EE1.4以上版本。ActiveMQ的主要优势包括支持多种语言的客户端(如Java、C、C++、AJAX、...

    Apache ActiveMQ教程 JMS 整合Tomcat

    ### Apache ActiveMQ与JMS整合Tomcat:深入解析与实践 #### 一、Apache ActiveMQ:强大而灵活的开源消息中间件 Apache ActiveMQ作为一款成熟的开源消息中间件,不仅遵循了JMS 1.1规范,还兼容J2EE 1.4以上的标准,...

    apache-activemq-5.11.2 附全解教程

    在本教程中,我们将深入探讨Apache ActiveMQ 5.11.2版本的核心特性和使用方法。 首先,ActiveMQ作为消息队列服务,它的主要功能是帮助应用程序之间进行异步通信,通过解耦发送者和接收者,提高了系统的可扩展性和...

    Apache_ActiveMQ教程.docx

    Apache ActiveMQ 是一款开源的消息中间件,遵循Java消息服务(JMS)1.1规范,兼容J2EE1.4及以上版本。它以其强大的特性和优势,在IT领域中被广泛使用,包括支持多种语言的客户端,如Java、C、C++、AJAX和...

    Apache-ActiveMQ教程.docx

    Apache ActiveMQ 是一个开源的消息中间件,它实现了Java消息服务(JMS)1.1规范,适用于J2EE 1.4及更高版本的环境。ActiveMQ因其广泛的语言支持(包括Java、C、C++、AJAX、ACTIONSCRIPT等)、多协议支持(如STOMP、...

    apache-activemq-5.15.8-bin.zip

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的应用服务器,它是Apache软件基金会的一部分。这个"apache-activemq-5.15.8-bin.zip"文件包含了ActiveMQ的可执行版本,用于在本地计算机上安装和运行ActiveMQ服务...

    Apache_ActiveMQ教程.doc

    Apache ActiveMQ 是一款开源的消息中间件,遵循Java消息服务(JMS)1.1规范,兼容J2EE1.4及以上版本。它可以在任何Java虚拟机(JVM)上运行,适应各种Web容器,提供了丰富的客户端支持,包括Java、C、C++、AJAX和...

    ActiveMQ教程+配置[归纳].pdf

    Apache ActiveMQ 是一款开源的、基于 Apache 2.0 许可证发布的消息中间件,它遵循Java消息服务(JMS)1.1和J2EE 1.4规范。作为最流行和强大的消息中间件之一,ActiveMQ 提供了多种语言和协议的支持,如Java、C、C++...

    apache-activemq-5.15.2下的demo

    在你提到的"apache-activemq-5.15.2"版本中,包含了"webapps-demo"这个目录,这是一个非常有价值的资源,它为开发者提供了丰富的示例和教程,帮助他们更好地理解和使用ActiveMQ。 1. **ActiveMQ基本概念**: - **...

    apache-activemq-5.18.1-bin.tar.gz

    4. **docs目录**:包含了ActiveMQ的文档,包括API参考、用户指南和教程。 5. **data目录**:默认情况下,这是ActiveMQ存储消息和持久化数据的位置。你可以根据需要修改`activemq.xml`来指定不同的数据存储路径。 6...

    ActiveMQ消息服务器 v6.0.1.zip

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递标准(JMS,Java Message Service),用于在分布式系统中实现可靠的消息传递。在本文中,我们将深入探讨ActiveMQ v6.0.1的核心特性、应用...

    CentOS安装Activemq图文教程

    "CentOS安装Activemq图文教程" 本文将详细介绍如何在CentOS系统中安装和配置Activemq,并实现开机启动的设置。 一、下载和安装Activemq 首先,我们需要从Apache官方网站下载Activemq的安装包。在浏览器中访问...

    JMS+activeMQ 教程

    &lt;a href=http://activemq.apache.org/version-5-getting-started.html &gt;http://activemq.apache.org/version-5-getting-started.html&lt;/a&gt; &lt;a href=http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html&gt;...

    ActiveMQ5.12.1 安装与配置.docx

    ActiveMQ 是Apache旗下的一款开源消息中间件,它支持多种消息协议,如AMQP、OpenWire、STOMP等,并且提供丰富的特性和功能,包括持久性消息存储、事务支持、集群能力等。ActiveMQ广泛应用于分布式系统中,帮助解决...

    ActiveMQ教程

    ActiveMQ 是一款由Apache软件基金会开发的开源消息中间件,广泛应用在各种企业级环境中。它遵循Java消息服务(JMS)1.1规范,并且兼容J2EE 1.4及以上版本,使得它可以在多种Java虚拟机(JVM)和Web容器中运行。...

    ActiveMQ教程+配置[参照].pdf

    Apache ActiveMQ 是一款高度活跃且功能丰富的开源消息中间件,基于Apache 2.0许可发布。作为Java消息服务(JMS)提供商,ActiveMQ 提供了多种消息传递模式,包括点对点和发布/订阅模式,使其适用于各种分布式系统中...

    JMS ACTIVEMQ 教程文档

    Apache ActiveMQ 是一个开源的JMS提供商,它是Apache软件基金会的一部分,也是最广泛使用的JMS实现之一。ActiveMQ提供了多种协议支持,包括开放消息传递协议(STOMP)、AMQP、MQTT等,使得它能够与各种不同类型的...

Global site tag (gtag.js) - Google Analytics