ActiveMQ+Spring2.5
ActiveMQJMSmavenSpringBean.
项目环境:
JDK1.5
ActiveMQ5.2
POM文件
Xml代码
1.<?xml version="1.0" encoding="UTF-8"?>
2.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3. <modelVersion>4.0.0</modelVersion>
4. <groupId>ActiveMQ-Spring</groupId>
5. <artifactId>ActiveMQ-Spring</artifactId>
6. <packaging>war</packaging>
7. <name />
8. <version>0.0.1-SNAPSHOT</version>
9. <description />
10. <build>
11. <sourceDirectory>${basedir}/src</sourceDirectory>
12. <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>
13. <resources>
14. <resource>
15. <directory>${basedir}/src</directory>
16. <excludes>
17. <exclude>**/*.java</exclude>
18. </excludes>
19. </resource>
20. </resources>
21. <plugins>
22. <plugin>
23. <artifactId>maven-war-plugin</artifactId>
24. <configuration>
25. <webappDirectory>${basedir}/WebRoot</webappDirectory>
26. <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
27. </configuration>
28. </plugin>
29. <plugin>
30. <artifactId>maven-compiler-plugin</artifactId>
31. <configuration>
32. <source>1.5</source>
33. <target>1.5</target>
34. </configuration>
35. </plugin>
36. </plugins>
37. </build>
38. <dependencies>
39. <dependency>
40. <groupId>org.apache.openejb</groupId>
41. <artifactId>javaee-api</artifactId>
42. <version>5.0-1</version>
43. <scope>provided</scope>
44. </dependency>
45. <dependency>
46. <groupId>javax.faces</groupId>
47. <artifactId>jsf-api</artifactId>
48. <version>1.2_04</version>
49. <scope>provided</scope>
50. </dependency>
51. <dependency>
52. <groupId>javax.servlet</groupId>
53. <artifactId>jstl</artifactId>
54. <version>1.2</version>
55. <scope>provided</scope>
56. </dependency>
57. <dependency>
58. <groupId>javax.servlet.jsp</groupId>
59. <artifactId>jsp-api</artifactId>
60. <version>2.1</version>
61. <scope>provided</scope>
62. </dependency>
63. <dependency>
64. <groupId>javax.faces</groupId>
65. <artifactId>jsf-impl</artifactId>
66. <version>1.2_04</version>
67. <scope>provided</scope>
68. </dependency>
69. <dependency>
70. <groupId>org.apache.activemq</groupId>
71. <artifactId>activemq-all</artifactId>
72. <version>5.2.0</version>
73. </dependency>
74. <dependency>
75. <groupId>org.springframework</groupId>
76. <artifactId>spring-core</artifactId>
77. <version>2.5.6</version>
78. </dependency>
79. <dependency>
80. <groupId>org.springframework</groupId>
81. <artifactId>spring-jms</artifactId>
82. <version>2.5.6</version>
83. </dependency>
84. </dependencies>
85.</project>
Java代码
1.package com.jeff.mq;
2.
3.import javax.jms.Destination;
4.import javax.jms.JMSException;
5.import javax.jms.TextMessage;
6.
7.import org.springframework.context.ApplicationContext;
8.import org.springframework.context.support.ClassPathXmlApplicationContext;
9.import org.springframework.jms.core.JmsTemplate;
10.
11./**
12.* 消息接收者
13.*
14.* @author jeff
15.*/
16.public class MyReceiver {
17. public static void main(String[] args) throws JMSException {
18. ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
19. JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate");
20. Destination destination = (Destination) ctx.getBean("destination");
21. while (true) {
22. TextMessage txtmsg = (TextMessage) template.receive(destination);
23. if (null != txtmsg)
24. System.out.println("收到消息内容为: " + txtmsg.getText());
25. else
26. break;
27. }
28. }
29.}
Java代码
1.package com.jeff.mq;
2.
3.import javax.jms.Destination;
4.import javax.jms.JMSException;
5.import javax.jms.Message;
6.import javax.jms.Session;
7.
8.import org.springframework.context.ApplicationContext;
9.import org.springframework.context.support.ClassPathXmlApplicationContext;
10.import org.springframework.jms.core.JmsTemplate;
11.import org.springframework.jms.core.MessageCreator;
12.
13./**
14.* 消息发送者
15.*
16.* @author jeff
17.*/
18.public class MySender {
19. public static void main(String[] args) {
20. ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
21. JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate");
22. Destination destination = (Destination) ctx.getBean("destination");
23.
24. template.send(destination, new MessageCreator() {
25. public Message createMessage(Session session) throws JMSException {
26. return session.createTextMessage("发送消息:Hello ActiveMQ Text Message!");
27. }
28. });
29. System.out.println("成功发送了一条JMS消息");
30. }
31.}
Spring配置文件
Xml代码
1.<?xml version="1.0" encoding="UTF-8"?>
2.<beans
3. xmlns="http://www.springframework.org/schema/beans"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
6. <!-- 配置JMS连接工厂 -->
7. <bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">
8. <property name="brokerURL" value="tcp://localhost:61616"/>
9. </bean>
10.
11. <!-- 配置JMS模版 -->
12. <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
13. <property name="connectionFactory" ref="connectionFactory"/>
14. </bean>
15.
16. <!-- 发送消息的目的地(一个队列) -->
17. <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
18. <!-- 设置消息队列的名字 -->
19. <constructor-arg index="0" value="HelloWorldQueue"/>
20. </bean>
21.
22.
23.
24.</beans>
运行发送端三次:
成功发送了一条JMS消息
Process finished with exit code 0
然后再运行接收端一次:
收到消息内容为: 发送消息:Hello ActiveMQ Text Message!
收到消息内容为: 发送消息:Hello ActiveMQ Text Message!
收到消息内容为: 发送消息:Hello ActiveMQ Text Message!
继续测试发现,接收端接收一条消息后不退出程序,而是继续等待,一旦有消息发送过来,就获取到,然后输出!
分享到:
相关推荐
**ActiveMQ5.1+Spring2.5 Demo详解** ActiveMQ是Apache软件基金会下的一个开源项目,它是一款功能强大的消息中间件,支持多种消息协议,如AMQP、STOMP、OpenWire等。在版本5.1中,ActiveMQ提供了一流的消息传输性能...
本文将详细阐述如何配置TOMCAT6.0、ActiveMQ5.1以及Spring2.5的集成环境,这些组件都是企业级Java应用中不可或缺的部分。 首先,我们来了解下这三个组件的基础知识: 1. **Tomcat 6.0**:Apache Tomcat 是一个开源...
在本案例中,我们采用的技术栈为Spring 2.5、ActiveMQ 5.4.0 和 Tomcat 6.0.30。这些技术的结合能够有效地构建一个可靠的消息传递系统。 - **Spring 2.5**:Spring 是一个开源框架,用于简化 Java 应用程序的开发。...
Spring集成ActiveMQ配置详解 Spring框架与ActiveMQ的集成,为开发者提供了一种高效、可靠的JMS消息处理机制。在企业级应用中,这种集成能够极大地提升系统的响应速度和容错能力,特别是在需要异步通信和分布式事务...
Spring 集成 ActiveMQ 配置 Spring 集成 ActiveMQ 配置是指将 Spring 框架与 ActiveMQ 消息队列集成,以实现基于 JMS(Java Message Service)的消息传递。ActiveMQ 是 Apache 软件基金会的一个开源的消息队列系统...
本项目"spring-activemq.zip"显然关注的是如何在Spring Boot 2.5版本中整合ActiveMQ,以实现发布/订阅(Publish/Subscribe)模式。 首先,我们来理解一下发布/订阅模式。在这一模式中,生产者(publisher)发布消息...
【Spring集成ActiveMQ】知识点详解 在Java企业级开发中,Spring框架的广泛使用与Apache ActiveMQ的消息中间件相结合,可以构建出高效、可靠的消息传递系统。ActiveMQ作为开源的JMS(Java Message Service)提供商,...
10.1.3 在Spring中安装ActiveMQ 10.2 协同使用JMS和Spring 10.2.1 处理冗长失控的JMS代码 10.2.2 使用JMS模板 10.2.3 转换消息 10.2.4 将Spring的网关支持类应用于JMS 10.3 创建消息驱动POJO 10.3.1 创建...
dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redisdubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合#该项目介绍ROOT dubbo管理平台lidong-dubbo-api api模块lidong-dubbo-model model模块lidong-...
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-2.5.xsd"> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"> ...
**5.5 如何集成 Spring Boot 和 ActiveMQ?** 可以通过引入 `spring-boot-starter-amqp` 依赖来集成 ActiveMQ。Spring Boot 提供了简单的配置选项,使得消息队列的使用变得非常方便。 **5.6 什么是 Apache Kafka?...
10.1.3在spring中安装activemq 10.2协同使用jms和spring 10.2.1处理冗长失控的jms代码 10.2.2使用jms模板 10.2.3转换消息 10.2.4将spring的网关支持类应用于jms 10.3创建消息驱动pojo 10.3.1创建消息监听器 ...
10.1.3 在Spring中安装ActiveMQ 10.2 协同使用JMS和Spring 10.2.1 处理冗长失控的JMS代码 10.2.2 使用JMS模板 10.2.3 转换消息 10.2.4 将Spring的网关支持类应用于JMS 10.3 创建消息驱动POJO 10.3.1 创建...
`blazeds.war`文件是一个预打包的Web应用,可以直接部署到任何支持Servlet 2.5或更高版本的Java应用服务器上,如Tomcat、Jetty等。`blazeds-bin-readme.htm`文件通常包含部署和配置BlazeDS的详细步骤和注意事项。 ...
- **ActiveMQ-JMS规范及使用**:了解JMS规范和ActiveMQ的使用。 - **Kafka实现原理剖析**:深入理解Kafka的设计原理。 **7.7 分布式缓存分析对比** - **Memcache的原理分析及使用**:比较Memcache和Redis的不同之...