- 浏览: 360413 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zzy2011266:
以上是特殊情况, 正确的方式是打开windowsshowVi ...
Android 出现 Your project contains errors, please fix them 。。。。 -
小奶牛:
BFGFG[b][/b]
PHP计算字符串长度 -
小奶牛:
[b][/b]YTYTY
PHP计算字符串长度 -
yuankunliu:
这样处理ppt里边的文本框在图片中有边框,知道怎么去掉不请问? ...
java转换ppt为图片 -
vtrtbb:
哦,我试试
简单的JS分页代码
发送端配置文件: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="mqConnnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL"> <value>failover:tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0</value> </property> <property name="userName"> <value>system</value> </property> <property name="password"> <value>system</value> </property> </bean> <bean id="singleConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <property name="targetConnectionFactory" ref="mqConnnectionFactory"/> </bean> <bean id="SimpleMessageConverter" class="org.springframework.jms.support.converter.SimpleMessageConverter"/> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="singleConnectionFactory"></property> <property name="messageConverter" ref="SimpleMessageConverter"/> <property name="timeToLive" value="180"/> <property name="explicitQosEnabled" value="true"/> <property name="pubSubDomain" value="true"/> </bean> </beans>
PushMain.java
package com.jms.activemq; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.generic.GenericBeanFactoryAccessor; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jms.core.JmsTemplate; public class PushMain { public static void main(String[] args) { ListableBeanFactory lsb = new ClassPathXmlApplicationContext("classpath:com/jms/activemq/ApplicationContext.xml"); GenericBeanFactoryAccessor gba = new GenericBeanFactoryAccessor(lsb); JmsTemplate jmsTemplate = (JmsTemplate) gba.getBean("jmsTemplate"); Map<String,String> map = new HashMap<String,String>(); map.put("fileName","某某文件"); jmsTemplate.convertAndSend("updatefile", map); } }
接收端:
一共三个文件
抽象类:AbstractListener.java
package com.jms.activemq; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.Session; import org.springframework.jms.listener.SessionAwareMessageListener; import org.springframework.jms.support.converter.MessageConverter; public abstract class AbstractListener implements MessageListener,SessionAwareMessageListener{ private MessageConverter messageConverter; public void onMessage(Message message) { try { onMessage(message, null); } catch (Throwable ex) { ex.printStackTrace(); } } public abstract void onMessage(Message message, Session session) throws JMSException; abstract void initCreateFile(); public MessageConverter getMessageConverter() { return messageConverter; } public void setMessageConverter(MessageConverter messageConverter) { this.messageConverter = messageConverter; } }
ListenerA.java
package com.jms.activemq; import java.util.Map; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; public class ListenerA extends AbstractListener { @Override void initCreateFile() { } @Override public void onMessage(Message message, Session session) throws JMSException { Map<String,byte[]> map = (Map<String,byte[]>)this.getMessageConverter().fromMessage(message); System.out.println("----"+map.get("fileName")); } }
ListenerB.java
package com.jms.activemq; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; public class ListenerB extends AbstractListener { @Override void initCreateFile() { } @Override public void onMessage(Message message, Session session) throws JMSException { System.out.println("------listenerB"); } }
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="mqConnnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL"> <value>failover:tcp://127.0.0.1:61616?connectionTimeout=0&wireFormat.maxInactivityDuration=0</value> </property> <property name="userName"> <value>system</value> </property> <property name="password"> <value>system</value> </property> </bean> <bean id="singleConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <property name="targetConnectionFactory" ref="mqConnnectionFactory"/> </bean> <bean id="SimpleMessageConverter" class="org.springframework.jms.support.converter.SimpleMessageConverter"/> <bean id="ATL" class="com.jms.activemq.AbstractListener" abstract="true"> <property name="messageConverter" ref="SimpleMessageConverter"/> </bean> <bean id="ListenerContainerB" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="singleConnectionFactory"/> <property name="messageListener"> <bean class="com.jms.activemq.ListenerB" parent="ATL"></bean> </property> <property name="pubSubDomain" value="true"/> <property name="destinationName"><value>DeleteFile</value></property> </bean> <bean id="ListenerContainerA" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="singleConnectionFactory"/> <property name="messageListener"> <bean class="com.jms.activemq.ListenerA" parent="ATL"></bean> </property> <property name="pubSubDomain" value="true"/> <property name="destinationName"><value>updatefile</value></property> </bean> </beans>
因为是tomcat工程, web.xml配置文件如下
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>jms3</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/ApplicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
发表评论
-
Maven运行Selenium报错org/w3c/dom/ElementTraversal
2017-06-21 17:11 722Maven运行Selenium报错org/w3c/dom/ ... -
logback日志按天滚动记录
2017-05-09 11:25 2393<?xml version="1.0&quo ... -
spring boot 中用Swagger2 构建API说明文档
2017-05-05 12:10 509maven: <dependency> ... -
SpringMVC测试框架Mock[转载]
2017-02-22 15:09 2757基于RESTful风格的SpringMVC的测试,我们 ... -
maven本地安装jar包
2016-07-22 17:32 486mvn install:install-file -Dfil ... -
java发消息MSMQ
2014-03-31 11:29 1382java发送消息给微软MSMQ的组件 -
maven导出依赖jar包到指定目录
2014-01-22 15:35 741项目建立后,导出依赖jar包到指定目录: mvn d ... -
hadoop执行hadoop namenode -format错误问题
2013-01-02 20:54 9214运行时遇到如下问题: Exception in thread ... -
sql 每个分类取N条数据例子
2012-12-30 09:43 5673取得分组TOP-N测试表与测试数据 CREATE TABLE ... -
effective java第一版系在
2012-12-17 09:16 774做个备注吧,以后又找不到了 -
多线程执行任务
2012-11-19 21:05 795只研究有用的,工作中的需求:要把多个任务分派给多个线程去执行, ... -
java代码构建线程池
2012-11-15 21:48 805在现代的操作系统中, ... -
BugFree说明
2012-08-06 11:55 785BugFree 说明 Fixed 已修复 ... -
android 阅读器分页读取字数
2012-06-05 12:33 3261// 本方法 分行又分页 public static ... -
linux更新系统时间
2012-01-11 10:23 1540检查是否安装过ntp rpm -aq | g ... -
jstl 一些函数用法
2011-11-29 09:44 787fn函数里面有很多好用的方法 <%@ taglib ... -
activeMq 简单的安全设置
2011-11-25 18:40 1168在conf 中找到 jetty.xml 文件 < ... -
activeMq收不到消息
2011-11-25 18:36 1128项目需要应用jms,在本地测试好的,到了服务器就后可以看 ... -
仿goolge验证码,自己没有试过
2011-10-13 14:55 1002仿goolge验证码,自己没有试过 -
Tomcat 配置数据源
2011-09-22 15:22 999<Resource name="jdbc/ ...
相关推荐
综上所述,Spring与ActiveMQ的结合使用能帮助开发者构建高效、可靠的分布式系统,通过消息队列进行异步通信,提高了系统的并发能力和容错性。在实际项目中,可以根据具体需求调整配置和代码,实现复杂的消息处理场景...
6. **事务管理**:Spring和ActiveMQ可以结合使用JTA事务,确保消息发送和业务操作的原子性。当开启JTA事务时,如果业务操作失败,消息也会被回滚,不会被发送到队列。 **前台接收消息** 在Web应用中,前台接收消息...
在IT行业中,Spring框架与...总之,Spring和ActiveMQ的结合使用,能够帮助开发者构建出高效、可扩展的系统,通过异步消息传递增强系统的健壮性和解耦性。理解并掌握这些知识点对于任何IT专业人士来说都是非常有价值的。
通过阅读和理解这些代码,你可以更好地了解Spring与ActiveMQ结合使用时的具体实现细节。 总的来说,通过Spring与ActiveMQ的整合,我们可以构建出可靠、高效的消息队列系统,从而改善系统的响应时间,提高可扩展性和...
总结来说,Spring与ActiveMQ的结合为Java应用提供了强大的消息处理能力,通过简单的配置和API调用即可实现复杂的消息通信需求。在实际开发中,我们应充分利用Spring JMS模块的便利性和ActiveMQ的高性能特性,确保...
在IT行业中,Spring框架与ActiveMQ的结合是构建企业级应用中常见的消息中间件解决方案。Spring框架是一个开源的Java平台,它提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、数据访问、Web应用以及更多的服务...
Spring的JMS模块允许开发者声明式地配置消息生产者(发送者)和消费者(接收者),并且支持多种JMS供应商,如ActiveMQ、RabbitMQ和Apache Qpid等。通过使用Spring的`JmsTemplate`类,我们可以方便地发送和接收消息,...
Spring集成ActiveMQ是将Spring框架与ActiveMQ消息中间件相结合,实现异步处理和解耦应用程序的关键技术。在本文中,我们将深入探讨如何配置和使用这一组合,以及它在实际项目中的应用。 首先,让我们了解Spring框架...
- 结合Spring Boot的自动配置能力,可以极大地简化ActiveMQ的集成过程,只需少量配置就能快速启动和运行。 7. **监控和管理**: - ActiveMQ提供了Web控制台,可以通过浏览器进行监控和管理,查看队列状态、消息...
在IT行业中,Spring Boot是一个非常流行的微服务框架,它简化了Spring应用的开发过程。而ActiveMQ是Apache出品的一款...在实际生产环境中,ActiveMQ还可以与其他中间件、微服务架构结合,提供更强大的消息处理能力。
本实例代码工程"Spring+ActiveMQ整合实例代码工程"正是结合两者,展示了如何在Spring环境中配置并使用ActiveMQ进行消息传递。 首先,我们需要了解Spring与ActiveMQ整合的基本概念。Spring框架提供了对多种消息...
4. **事务管理**:Spring可以与ActiveMQ结合,提供事务级别的消息发送和确认,确保消息的可靠传输。 5. **消息模板**:`JmsTemplate`是Spring JMS的核心工具,用于发送和接收消息,提供了灵活的模板方法模式,简化了...
在企业级应用开发中,Spring框架与ActiveMQ的结合使用是一种常见的消息中间件解决方案,用于实现应用程序间的异步通信和解耦。本项目基于Maven构建,提供了对Topic的实现,同时也支持轻松切换到Queue模式。 **...
5. **事务管理**: 如果需要确保消息的一致性,可以结合Spring的事务管理功能,将消息发送与业务操作置于同一个事务中。 6. **测试和优化**: 测试消息系统的可靠性、性能和容错能力,根据需要进行调整和优化。 在...
总的来说,"maven-spring-activemq"项目展示了如何在Spring应用中利用Maven管理依赖,结合ActiveMQ实现消息传递,以提高系统的异步处理能力和可扩展性。通过理解和实践这个案例,开发者可以更好地理解Spring的JMS...
- Spring可以结合JMS提供事务支持,确保消息在成功处理后才被确认。 5. **测试** - 使用TestActiveMq类进行集成测试,模拟生产者发送消息和消费者接收消息的过程,确保整个链路的正确性。 集成Spring和ActiveMQ...
本实例“Spring和ActiveMQ的整合实例源码”旨在展示如何将Spring框架与ActiveMQ结合使用,利用JMS进行高效的消息传递。这个实例适合那些希望学习或深入了解Spring框架如何与消息中间件集成的开发者。它基于Spring的...
本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的入门实例。 首先,我们需要理解ActiveMQ的基本概念。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它实现了JMS规范,提供...
2. **创建消息生产者**:在Spring应用中,我们可以定义一个`MessageProducer`类,它使用`JmsTemplate`来发送消息到ActiveMQ队列或主题。`JmsTemplate`是Spring提供的一个工具类,它简化了与JMS提供者的交互。 3. **...