- 浏览: 1413008 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (363)
- oracle (43)
- 缓存策略 (4)
- 数据库设计 (7)
- IntelliJ IDEA (8)
- freemarker (3)
- JSP (12)
- java基础 (75)
- tomcat (14)
- 服务器 (10)
- maven (3)
- linux (21)
- e-learning (2)
- 手机开发 (1)
- 设计模式 (6)
- 技术之外 (2)
- 工具的使用 (8)
- HTML 5 (5)
- 网站前台 (38)
- 网站后台 (11)
- 项目管理 (12)
- 面试题 (5)
- 幽默 (0)
- 系统架构 (8)
- 创业 (10)
- div-css (5)
- 诗词歌赋 (1)
- 网络课堂组知识库 (4)
- 杂家 (3)
- android (12)
- 框架 (14)
- 读书笔记 (1)
- 孙子兵法 (1)
- mysql (3)
- 小人书 (0)
- Jquery (6)
- eclipse (2)
- 正则表达式 (1)
最新评论
-
a98709474:
写的很详细,看完了,明白了这种概念了
数据库水平切分(拆库拆表)的实现原理解析(转) -
a98709474:
MYSQL分库分表总结 -
CatchU:
7年前的招聘要求,厉害厉害
面试要求 -
luozhixiong:
<table class="bbcode&qu ...
MYSQL分库分表总结 -
沈寅麟:
好用
freemarker格式化
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
ActiveMQ特性列表
1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6. 支持通过JDBC和journal提供高速的消息持久化
7. 从设计上保证了高性能的集群,客户端-服务器,点对点
8. 支持Ajax
9. 支持与Axis的整合
10. 可以很容易得调用内嵌JMS provider,进行测试
1:下载 ActiveMQ 5.6.0 Release
http://activemq.apache.org/download.html
放到d盘
2:运行apache-activemq服务:双击 activemq.bat
3:效果
4:所需jar包
5:spring配置文件applicationContext.xml
这时主要是配置activemq服务信息与实现springjms的对应接口
6:消息产生者
7:发送消息方
8:消息接收方
9:测试
运行 发送方和接收方 (顺序随便) main文件,效果如下:
注:即使 接收方启动晚,或者 发送方关闭了, 接收方都会正常接收完所有数据
ActiveMQ特性列表
1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6. 支持通过JDBC和journal提供高速的消息持久化
7. 从设计上保证了高性能的集群,客户端-服务器,点对点
8. 支持Ajax
9. 支持与Axis的整合
10. 可以很容易得调用内嵌JMS provider,进行测试
1:下载 ActiveMQ 5.6.0 Release
http://activemq.apache.org/download.html
放到d盘
2:运行apache-activemq服务:双击 activemq.bat
3:效果
4:所需jar包
5:spring配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL"> <value>tcp://localhost:61616?wireFormat.maxInactivityDuration=0</value> </property> </bean> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory"> <ref bean="connectionFactory"/> </property> </bean> <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0"> <value>MessageQueue</value> </constructor-arg> </bean> </beans>
这时主要是配置activemq服务信息与实现springjms的对应接口
6:消息产生者
package test; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import org.springframework.jms.core.MessageCreator; /** * 消息产生者 * User: liuwentao * Time: 12-6-14 上午11:31 */ public class MyMessageCreator implements MessageCreator { public int n = 0; private static String str1 = "这个是第 "; private static String str2 = " 个测试消息!"; private String str = ""; @Override public Message createMessage(Session paramSession) throws JMSException { System.out.println("MyMessageCreator n=" + n); if (n == 9) { //在这个例子中表示第9次调用时,发送结束消息 return paramSession.createTextMessage("end"); } str = str1 + n + str2; return paramSession.createTextMessage(str); } }
7:发送消息方
package test; import javax.jms.Destination; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jms.core.JmsTemplate; /** * 发送消息方 * User: liuwentao * Time: 12-6-14 上午11:29 */ public class MessageSender extends Thread { public static void main(String args[]) throws Exception { String[] configLocations = new String[] {"test/applicationContext.xml"}; ApplicationContext context = new ClassPathXmlApplicationContext(configLocations); JmsTemplate jmsTemplate = (JmsTemplate) context.getBean("jmsTemplate"); Destination destination = (Destination) context.getBean("destination"); for (int i = 1; i < 100; i++) { System.out.println("发送 i=" + i); //消息产生者 MyMessageCreator myMessageCreator = new MyMessageCreator(); myMessageCreator.n = i; jmsTemplate.send(destination, myMessageCreator); sleep(10000);//10秒后发送下一条消息 } } }
8:消息接收方
package test; import javax.jms.Destination; import javax.jms.TextMessage; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jms.core.JmsTemplate; /** * 消息接收方 * User: liuwentao * Time: 12-6-14 上午11:32 */ public class MessageReciver{ public static void main(String args[]) throws Exception { String[] configLocations = new String[] {"test/applicationContext.xml"}; ApplicationContext context = new ClassPathXmlApplicationContext(configLocations); JmsTemplate jmsTemplate = (JmsTemplate) context.getBean("jmsTemplate"); Destination destination = (Destination) context.getBean("destination"); TextMessage msg = null; //是否继续接收消息 boolean isContinue = true; while (isContinue) { msg = (TextMessage) jmsTemplate.receive(destination); System.out.println("收到消息 :" + msg.getText()); if (msg.getText().equals("end")) { isContinue = false; System.out.println("收到退出消息,程序要退出!"); } } System.out.println("程序退出了!"); } }
9:测试
运行 发送方和接收方 (顺序随便) main文件,效果如下:
注:即使 接收方启动晚,或者 发送方关闭了, 接收方都会正常接收完所有数据
评论
3 楼
javatozhang
2014-09-15
为何不把测试代码也放上呢?谢谢!
2 楼
tbs005
2014-04-14
简介清晰,非常感谢~!
1 楼
fypop
2012-07-03
很好,学习了. MQ还真不错. 作为web的中间件.
Spring也很给力, 比写纯java方便多了.
顶一个!!!!
Spring也很给力, 比写纯java方便多了.
顶一个!!!!
发表评论
-
打印IP 来源
2014-10-16 22:07 894<% String userAgent = reques ... -
java 写文本换行
2014-08-08 18:34 1872import org.apache.commons.io.Fi ... -
DBCP连接池配置示例
2014-06-17 11:44 1199<bean id="dataSourceOra ... -
CGLIB与asm
2014-05-05 14:42 1295“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言 ... -
201404转成 2014.04
2014-03-31 17:45 945public static void main(Str ... -
取出 字符串中的 网址
2013-10-15 17:47 1216public static void main(Str ... -
java反国际化
2013-09-23 18:10 950public static String fromEn ... -
AtomicInteger与Volatile修饰
2013-02-05 11:50 5990今天写代码,尝试使用了AtomicInteger这个类,感觉 ... -
ExecutorService线程池
2013-02-05 11:40 1578http://blog.sina.com.cn/s/blog ... -
web.xml中load-on-startup的作用
2012-12-24 10:06 1616如下一段配置,熟悉DWR的再熟悉不过了: <servle ... -
最新版本
2012-09-13 09:28 958Java SE 7u7 apache-tomcat-7.0. ... -
格式化数字
2012-09-10 20:12 867public static void main(Str ... -
用apache common io包获得文件扩展名
2012-09-09 23:11 1322apache common io包包含了很多非常实用的工具类, ... -
值传递,引用传递
2012-07-28 23:29 1089java 对于 8种基本类型 和 他们的包装类型 , 外 ... -
代码之丑
2012-07-07 22:01 2128原文:http://www.infoq.com/cn/news ... -
Memcache
2012-06-27 09:36 998Memcache是一个高性能的分布式的内存对象缓存系统,通过在 ... -
proxool配置
2012-06-12 11:43 1136项目结构 所需jar包 proxool.prope ... -
各种文件的注释
2012-04-23 10:44 947<%-- comment --%> JSP注释,也称为“隐藏注 ... -
List排序
2012-03-27 20:18 1142集合类List存放的数据,默认是按照放入时的顺序存放的,比如依 ... -
动态语言和静态语言
2012-03-25 22:36 1355动态语言也称为脚本语 ...
相关推荐
springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot...
百度spring整合activemq 发现几乎都只是在xml文件配置固定的消息队列而且太麻烦。并没有根据需求进行动态生成主题和队列。本文档参考了纯粹的activemq java代码和百度上的demo,很简洁的实现了动态消息队列的生成和...
用zabbix 自动发现实现activemq 监控pending consumers activemq_scan.sh #!/bin/bash activemq() { MQ_IP=(10.10.11.208:8161) for g in ${MQ_IP[@]} do port=($(curl -uadmin:admin http://${g}/admin/queues.jsp...
赠送jar包:activemq-core-5.7.0.jar; 赠送原API文档:activemq-core-5.7.0-javadoc.jar; 赠送源代码:activemq-core-5.7.0-sources.jar; 包含翻译后的API文档:activemq-core-5.7.0-javadoc-API文档-中文...
MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 特点: 1、支持多种...
ActiveMQ高并发处理方案ActiveMQ高并发处理方案 超级字数补丁超级字数补丁
本教程旨在帮助activeMQ初学者入门,通过本示例,能完全理解activeMQ的基本概念,为分布式应用打下基础。 本示例中,使用maven管理,完美解决各种依赖问题,不需要自行配置,导入项目等待eclipse自行下载jar包后即可...
activeMQ的测试工具,用于发送和接收activeMQ消息,jar包形式的,安装完jdk之后用java -jar xxx.jar命令运行
自己做的尚硅谷周阳老师ActiveMQ课程脑图,其中自己所用做案例的环境搭建都是基于docker与老师课程不一样。脑图内容涵盖视频的99%的笔记,含有自己编写的代码文件,外加了自己对一些问题的测试与回答。 消息中间件...
包括1、ActiveMQ java实例 2、ActiveMQ Spring结合实例 3、代码亲测,无问题。 4、资源分5分绝对值 注意:请先安装ActiveMQ 服务。
赠送jar包:activemq-protobuf-1.1.jar; 赠送原API文档:activemq-protobuf-1.1-javadoc.jar; 赠送源代码:activemq-protobuf-1.1-sources.jar; 包含翻译后的API文档:activemq-protobuf-1.1-javadoc-API文档-...
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的...
apache-activemq Linux版本
构建高可用的ActiveMQ系统在生产环境中是非常重要的,单点的ActiveMQ作为企业应用无法满足高可用和集群的需求,所以ActiveMQ提供 了master-slave、broker cluster等多种部署方式,但通过分析多种部署方式之后我认为...
ActiveMQ in Action pdf英文原版加源代码压缩包。 Apache ActiveMQ in Action is a thorough, practical guide to implementing message-oriented systems in Java using ActiveMQ. The book lays out the core of ...
activemq, Apache ActiveMQ镜像 欢迎来到 Apache ActiveMQis是一个高性能的Apache 2.0许可以消息代理和 JMS 1.1实现。正在启动要帮助你入门,请尝试以下链接:入门http://activemq.apache.org/version-
Spring 集 成ActiveMQ 配置 异步RPC框架 Missian ActiveMq-JMS简单实例使用tomcat
赠送jar包:activemq-protobuf-1.1.jar; 赠送原API文档:activemq-protobuf-1.1-javadoc.jar; 赠送源代码:activemq-protobuf-1.1-sources.jar; 包含翻译后的API文档:activemq-protobuf-1.1-javadoc-API文档-...
springboot集成activemq实现消息接收demo