- 浏览: 3420973 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
linux上安装activeMQ http://blog.163.com/yangzhanghui_job/blog/static/17957506220127171173225/
ActiveMQ-5.8.0 安装和启动 http://chenzhou123520.iteye.com/blog/1915287
在CentOS Linux下部署Activemq 5 http://sunbean.blog.51cto.com/972509/675529
原文:http://my.oschina.net/wangrikui/blog/471714
运行环境:jdk1.6 ,javaEE5 , spring2.5 ,activeMQ5.4.3.
一定要注意activeMQ的版本与jdk的兼容性,最新的activeMQ版本估计要在jdk1.7以上才能运行。
先说一下activeMQ的安装:
1、下载:http://activemq.apache.org/download.html 选择合适的Windows版本
2、安装
(1) 首先配置JAVA环境变量
JAVA_HOME=D:\Program Files\Java\jdk1.5.0
CLASSPAHT=.;%JAVA_HOME%\lib
PATH=%JAVA_HOME%\bin;
(2)直接解压至任意目录(例如:D:\apache-activemq-5.3.0)
3、启动ActiveMQ服务器:直接运行\bin\win32\activemq.bat
当运行成功后,界面显示: Started SelectChannelConnector@0.0.0.0:8161 即说明activemq启动成功。
4、打开ActiveMQ消息管理后台系统 http://localhost:8161/admin/
需要依赖的jar包有:spring.jar , activemq-all-5.4.3.jar , commons-logging-api-1.1.jar , commons-io-1.3.2.jar
好了,准备工作做完后,开始上代码,
先看一下,我们最终的Spring配置文件applicationContext.xml的内容,如下所示:
接下来,消息生成器代码,实现spring的MessageCreator接口:
接下来,消息监听器,实现javaEE的规范MessageListener接口即可,因为要注入到spring的DefaultMessageListenerContainer中。此监听器通过监听来自destination(在spring中配置)的消息,一旦有消息就打印出来:
下面是消息发布器,通过spring的jms模板,即可轻松的获得与activeMQ的连接与通信,从而获得Connection和Destination,再通过JmsTemplate的send方法,即可发送消息到指定的destination(在spring中配置)中,以供客户端接收:
至此,基本的jms就已经搭建好了,很简单吧,一个spring上下文配置,一个消息生成器,一个消息发布器,一个监听器,搞定。接下来,编写一个测试类,看运行结果(注意在运行测试类前,一定要先启动activeMQ服务器):
运行结果如下:
Reading message: Sun Jun 28 19:40:05 CST 2015第9条消息发出
Reading message: Sun Jun 28 19:40:06 CST 2015第8条消息发出
Reading message: Sun Jun 28 19:40:07 CST 2015第7条消息发出
Reading message: Sun Jun 28 19:40:08 CST 2015第6条消息发出
Reading message: Sun Jun 28 19:40:09 CST 2015第5条消息发出
Reading message: Sun Jun 28 19:40:10 CST 2015第4条消息发出
Reading message: Sun Jun 28 19:40:12 CST 2015第3条消息发出
Reading message: Sun Jun 28 19:40:13 CST 2015第2条消息发出
Reading message: Sun Jun 28 19:40:14 CST 2015第1条消息发出
ActiveMQ-5.8.0 安装和启动 http://chenzhou123520.iteye.com/blog/1915287
在CentOS Linux下部署Activemq 5 http://sunbean.blog.51cto.com/972509/675529
原文:http://my.oschina.net/wangrikui/blog/471714
运行环境:jdk1.6 ,javaEE5 , spring2.5 ,activeMQ5.4.3.
一定要注意activeMQ的版本与jdk的兼容性,最新的activeMQ版本估计要在jdk1.7以上才能运行。
先说一下activeMQ的安装:
1、下载:http://activemq.apache.org/download.html 选择合适的Windows版本
2、安装
(1) 首先配置JAVA环境变量
JAVA_HOME=D:\Program Files\Java\jdk1.5.0
CLASSPAHT=.;%JAVA_HOME%\lib
PATH=%JAVA_HOME%\bin;
(2)直接解压至任意目录(例如:D:\apache-activemq-5.3.0)
3、启动ActiveMQ服务器:直接运行\bin\win32\activemq.bat
当运行成功后,界面显示: Started SelectChannelConnector@0.0.0.0:8161 即说明activemq启动成功。
4、打开ActiveMQ消息管理后台系统 http://localhost:8161/admin/
需要依赖的jar包有:spring.jar , activemq-all-5.4.3.jar , commons-logging-api-1.1.jar , commons-io-1.3.2.jar
好了,准备工作做完后,开始上代码,
先看一下,我们最终的Spring配置文件applicationContext.xml的内容,如下所示:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- jms 连接工厂 --> <bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <!-- 配置代理的地址,即配置activeMQ的连接URI, 让jms工厂能够连接到activeMQ服务器(将activeMQ暴露给客户端使用, 负责客户端与activeMQ之间的连接通信) --> <property name="brokerURL"> <value>tcp://localhost:61616</value><!-- 一种标准URI地址,意思是说标识一个本地的端口号位61616的TCP连接(其中,"61616"是activeMQ默认的连接端口号) --> </property> </bean> <!-- ActiveMQ连接器将这种简单等级结构的URI模式称为低等级的连接器(low-levelconnectors), 并为这些连接器实现了基本的网络通信协议。低等级连接器URIs使用主题(scheme)标识底层使用的网络协议, 使用路径元素定位网络资源服务(一般为主机名加上端口号),使用查询元素用来确定连接器附加信息。 --> <!-- jms 连接池 --> <!-- <bean id="pooledJmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> <property name="connectionFactory"> <ref local="jmsFactory" /> </property> </bean> --> <!-- jms 模板 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory"> <ref local="jmsFactory" /> </property> </bean> <!-- jms Topic --> <bean id="myTopic" class="org.apache.activemq.command.ActiveMQTopic" autowire="constructor"> <constructor-arg value="STOCKS.JAVA" /> </bean> <!-- jms Consumer --> <bean id="javaConsumer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="jmsFactory" /> <property name="destination" ref="myTopic" /> <property name="messageListener" ref="myTextListener" /> </bean> <!-- 消息监听器 --> <bean id="myTextListener" class="demo.TextListener"> </bean> <!-- 消息发布器 --> <bean id="springPublisher" class="demo.SpringPublisher"> <property name="template"> <ref local="jmsTemplate" /> </property> <property name="topic"> <ref local="myTopic" /> </property> </bean> </beans>
接下来,消息生成器代码,实现spring的MessageCreator接口:
package demo; import java.util.Date; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import javax.jms.TextMessage; import org.springframework.jms.core.MessageCreator; public class MyMessageCreator implements MessageCreator { /** * 消息序号 */ private int msgNo; public MyMessageCreator(int no) { this.msgNo = no; } @Override public Message createMessage(Session session) throws JMSException { TextMessage textMsg = session.createTextMessage(); textMsg.setText(new Date() + "第" + this.msgNo + "条消息发出"); return textMsg; } }
接下来,消息监听器,实现javaEE的规范MessageListener接口即可,因为要注入到spring的DefaultMessageListenerContainer中。此监听器通过监听来自destination(在spring中配置)的消息,一旦有消息就打印出来:
package demo; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; public class TextListener implements MessageListener { @Override public void onMessage(Message message) { TextMessage msg = null; try { if (message instanceof TextMessage) { msg = (TextMessage) message; System.out.println("Reading message: " + msg.getText()); } else { System.out.println("Message of wrong type: " + message.getClass().getName()); } } catch (JMSException e) { System.out.println("JMSException in onMessage(): " + e.toString()); } catch (Throwable t) { System.out.println("Exception in onMessage():" + t.getMessage()); } } }
下面是消息发布器,通过spring的jms模板,即可轻松的获得与activeMQ的连接与通信,从而获得Connection和Destination,再通过JmsTemplate的send方法,即可发送消息到指定的destination(在spring中配置)中,以供客户端接收:
package demo; import javax.jms.Destination; import org.springframework.jms.core.JmsTemplate; public class SpringPublisher { /** * Jms模板 */ private JmsTemplate template; /** * Topic */ private Destination topic; public JmsTemplate getTemplate() { return template; } public void setTemplate(JmsTemplate template) { this.template = template; } public Destination getTopic() { return topic; } public void setTopic(Destination topic) { this.topic = topic; } /** * Start * * @throws InterruptedException */ public void start() throws InterruptedException { int messageCount = 10; while ((--messageCount) > 0) { sendMessage(messageCount); Thread.sleep(1000); } } /** * 消息发送 */ protected void sendMessage(int msgNO) { this.template.send(this.topic, new MyMessageCreator(msgNO)); } }
至此,基本的jms就已经搭建好了,很简单吧,一个spring上下文配置,一个消息生成器,一个消息发布器,一个监听器,搞定。接下来,编写一个测试类,看运行结果(注意在运行测试类前,一定要先启动activeMQ服务器):
package test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import demo.SpringPublisher; public class SpringJmsTestMain { /** * @param args */ public static void main(String[] args) throws InterruptedException { ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "applicationContext.xml" }); SpringPublisher publisher = (SpringPublisher) context .getBean("springPublisher"); publisher.start(); } }
运行结果如下:
Reading message: Sun Jun 28 19:40:05 CST 2015第9条消息发出
Reading message: Sun Jun 28 19:40:06 CST 2015第8条消息发出
Reading message: Sun Jun 28 19:40:07 CST 2015第7条消息发出
Reading message: Sun Jun 28 19:40:08 CST 2015第6条消息发出
Reading message: Sun Jun 28 19:40:09 CST 2015第5条消息发出
Reading message: Sun Jun 28 19:40:10 CST 2015第4条消息发出
Reading message: Sun Jun 28 19:40:12 CST 2015第3条消息发出
Reading message: Sun Jun 28 19:40:13 CST 2015第2条消息发出
Reading message: Sun Jun 28 19:40:14 CST 2015第1条消息发出
发表评论
-
Spring Boot 属性配置
2016-06-24 11:04 1181Spring Boot 属性配置和使用 http://blog ... -
Spring Boot 集成MyBatis
2016-06-24 10:55 2025Spring Boot 集成MyBatis http://bl ... -
Spring MVC防重复提交
2016-06-17 15:47 1644http://my.oschina.net/zyqjustin ... -
Spring容器加载完之后执行特定任务
2016-06-17 15:36 2282http://my.oschina.net/simpleton ... -
使用spring-session和shiro来代理session的配置
2016-06-16 11:21 12056使用spring-session和redis来代理sessio ... -
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1333http://blog.csdn.net/xiyuan1999 ... -
spring mvc 请求转发和重定向
2016-06-14 09:48 1397http://blog.csdn.net/jackpk/art ... -
mvc:view-controller
2016-05-18 10:26 1081http://blog.csdn.net/lzwglory/a ... -
spring配置事物的方式:注解和aop配置
2016-05-14 00:26 4102参考: Spring AOP中pointcut express ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2286http://www.oschina.net/p/uncode ... -
Mybatis分库分表扩展插件
2016-05-12 15:47 1620http://fangjialong.iteye.com/bl ... -
spring+mybatis+atomikos 实现JTA事务
2016-05-11 22:00 5522sping配置多个数据源 不同用户操作不同数据库 http:/ ... -
Spring中使用注解 @Scheduled执行定时任务
2016-05-10 09:39 1566原文:http://dwf07223.blog.51cto.c ... -
Spring中配置Websocket
2016-05-05 16:55 1276spring+websocket整合(springMVC+sp ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1314集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4791使用Spring-data进行Redis操作 http://z ... -
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
2016-05-03 13:35 1060Spring4新特性——集成Bean Validation 1 ... -
SpringMVC介绍之Validation
2016-05-03 13:10 983SpringMVC介绍之Validation http://h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3075原文: http://www.programgo.com/ar ... -
Spring MVC学习详解
2016-04-28 09:13 1003原文 http://blog.csdn.net/alsocod ...
相关推荐
综上所述,这个例子提供了一个全面的实践,涵盖了Spring MVC、JMS和ActiveMQ的集成,帮助开发者理解如何在实际项目中使用消息中间件实现异步处理和解耦。通过学习这个示例,你可以了解到如何在Spring MVC环境中配置...
标题中的“jms Spring+ActiveMQ 5.4.2”指的是Java消息服务(Java Message Service)在Spring框架中与Apache ActiveMQ 5.4.2版本的集成应用。Java消息服务(JMS)是Java平台中用于创建、发送、接收和读取消息的标准...
ActiveMQ 是Apache出品的一款开源消息中间件,它实现了Java消息服务(JMS)。在聊天室应用中,ActiveMQ将作为异步通信的桥梁,处理用户的实时消息发送和接收,确保消息的可靠传输和高并发处理。 最后,HTML5是现代...
ActiveMQ是Apache提供的一个开源消息代理,它实现了多种消息协议,如AMQP、JMS(Java Message Service)等。在分布式事务中,ActiveMQ起到了消息中间件的角色,用于在不同服务之间传递事务信息,确保消息的可靠传输...
**ActiveMQ** 是Apache出品的一个开源消息中间件,支持多种协议,如JMS(Java Message Service)、AMQP等。它允许应用程序之间通过消息传递进行通信,提供可靠的消息传输和发布/订阅模型。在高并发场景下,ActiveMQ...
Spring框架提供了一套完整的JMS支持,包括配置和管理消息生产者(Message Producers)、消费者(Message Consumers)以及与ActiveMQ服务器的连接。这通常通过Spring的XML配置文件或者Java配置类来实现。 1. **配置...
这个完整的demo可以帮助开发者快速理解并实践Spring与ActiveMQ的集成,为构建高效、可靠的分布式系统奠定基础。 在实际应用中,可能还需要考虑更多因素,例如消息的持久化、事务性消息、消息确认机制等。不过,这个...
在IT行业中,Spring框架是Java应用开发中的一个关键组件,它提供了一个全面的编程和配置模型,用于构建灵活、可维护的...这个完整的实例是一个很好的学习资源,可以帮助开发者更好地理解和实践Spring与ActiveMQ的整合。
5. **ActiveMQ**:ActiveMQ是Apache的一个开源消息中间件,实现了多种消息协议,如JMS(Java Message Service)。在这个系统中,ActiveMQ可能被用来处理大量并发的温湿度数据,通过消息队列进行数据缓冲,保证数据的...
集成Apache ActiveMQ与Spring框架是常见的实践,因为Spring提供了一套完整的JMS支持。通过Spring的JmsTemplate和MessageListener容器,我们可以轻松地发送和消费消息,同时保持代码的简洁性和可测试性。Spring的自动...
而ActiveMQ则是Apache软件基金会的一个开源项目,它是Java消息服务(JMS)的实现,提供可靠的消息传递,支持多种协议,广泛用于分布式系统中的异步通信。 标题"SpringBoot + activeMQ.zip"暗示了这个压缩包内容可能...
在IT行业中,集成ActiveMQ、Spring以及Spring MVC是构建高效、可扩展的Web应用程序的常见实践。这个"activeMQ+spring+springmvc整合示例"旨在帮助开发者理解如何将这三者结合,以实现消息队列(Message Queue)的...
**ActiveMQ+Camel+Spring+jms Demo(一)** 在IT行业中,集成不同组件以构建高效、可扩展的消息传递系统是一项常见的任务。本示例将深入探讨如何使用ActiveMQ作为消息中间件,Apache Camel作为集成工具,以及Spring...
在IT行业中,SpringMVC和JMS...总之,SpringMVC+JMS(ActiveMQ)整合的Demo是一个实用的教学工具,它涵盖了现代企业级应用中常见的消息传递模式和技术,对于提升开发者在分布式系统中的实践技能有着积极的促进作用。
在本项目中,我们探索了如何整合ActiveMQ、Apache Camel和Spring框架来创建一个基于JMS(Java消息服务)的应用程序。这个Demo是系列的第二部分,它建立在上一部分的基础之上,深入介绍了如何实际操作这些组件以实现...
总结来说,这个压缩包文件提供了全面的学习资源,涵盖了理论讲解(PPTX)、实践操作指导(Readme)以及可运行的示例代码(Eclipse工程),对于想要了解和掌握JMS与ActiveMQ的开发者来说,是一个非常宝贵的资源。...
1. 在Spring配置文件中添加对ActiveMQ的JMS配置,如ConnectionFactory和Destination。 2. 创建消息生产者和消费者,利用Spring的JmsTemplate发送和接收消息。 **步骤5:测试与调试** 1. 编写测试代码,验证消息的...
Spring整合JMS基于ActiveMQ实现是一项常见的企业级应用开发任务,它涉及到Spring框架、Java消息服务(JMS)以及ActiveMQ消息中间件的使用。在本文中,我们将深入探讨这三个关键概念,以及如何将它们有效地结合在一起...
Spring集成ActiveMQ配置详解 Spring框架与ActiveMQ的集成,为...然而,值得注意的是,随着技术的发展,Spring和ActiveMQ的版本也在不断更新,因此,在实际项目中,应当根据最新的文档和实践来进行相应的调整和优化。