spring+jms
来源:互联网 发布:腾讯数据库在哪里 编辑:程序博客网 时间:2024/04/19 10:01
1.依赖jar包
spring.jar
activeMQ-all-5.8.0.jar
2.配置文件
<!--创建连接工厂 --><bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL" value="tcp://127.0.0.1:61616"></property><property name="useAsyncSend"><value>TRUE</value></property><property name="optimizeAcknowledge"><value>TRUE</value></property></bean><!-- 声明ActiveMQ消息目标,目标可以是一个队列,也可以是一个主题ActiveMQTopic --><bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg index="0" value="my-mq"></constructor-arg></bean><bean id="queue" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg value="mmm" /></bean><!----><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="connectionFactory" ref="connectionFactory"></property><property name="defaultDestination" ref="destination"></property><property name="receiveTimeout" value="6000"></property><property name="messageConverter" ><bean class="com.MyConverter" ></bean></property><property name="deliveryMode" value="2" /><property name="sessionAcknowledgeMode" value="1" /></bean><bean id="jmsMessageConverter" class="com.MyConverter"></bean><bean id="jmsReceiver" class="com.Receiver"><property name="jmsTemplate" ref="jmsTemplate"></property><property name="destination" ref="destination"></property></bean><bean id="listenerContainer"class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory" /><property name="destination" ref="destination" /><property name="messageListener" ref="jmsReceiver" /><property name="pubSubNoLocal" value="false"></property></bean>MyConverter
public class MyConverter implements MessageConverter {@Overridepublic Object fromMessage(Message message) throws JMSException,MessageConversionException {return ((ObjectMessage) message).getObject();}@Overridepublic Message toMessage(Object obj, Session session) throws JMSException,MessageConversionException {ObjectMessage message = session.createObjectMessage();message.setObject((Serializable) obj);return message;}}消息发送
public class Sender { @Resource private JmsTemplate jmsTemplate; public void pushMsg(Entity entity) { Map<String, Object> params = new HashMap<String, Object>(); params.put("method", "mq-push"); params.put("sessionId", sessionId); params.put("pushObject", entity); // send mq jmsTemplate.convertAndSend(params); } }
消息接收:com.Receiver
public class Receiver implements MessageListener{ @Override public void onMessage(Message message) { log.debug(">>>>>>>>>>>>into receive "); ObjectMessage convertmessage = (ObjectMessage)message; try { Map<String, Object> params = (Map<String, Object>)convertmessage.getObject(); if(params.get("method").equals("mq-push-common")) { String sessionId=params.get("ioSessionId") ; Entity entity=(Entity)(params.get("pushObject")); } } catch (JMSException e) { e.printStackTrace(); log.debug(e.toString()); } }}
- spring -jms
- Spring JMS
- Spring JMS
- spring jms
- spring+jms
- spring + jms
- jms spring
- spring jms
- Spring JMS
- JMS + Spring
- Spring JMS
- Spring JMS 消息处理
- jms+spring配置
- Spring整合JMS
- Spring+JMS例子
- jms with spring
- jms with spring 2
- Spring Jms入门实例
- service 生命周期图
- EnterFrame和TimerEvent区别
- ios之socket
- flash.system.Capabilities.languages读取AIR平台Android/IOS系统语言
- notification
- spring+jms
- 教你们怎么查自己的手机信息
- 智能内阻测试仪
- Android Manifest之<application>元素中文注释
- 实现TextInput垂直居中
- SVN trunk, branches and tags
- OpenStack Grizzly Webinar Preview: Availability Zones vs. Host Aggregates
- 关于Struts2.1.6中配置 constant name="struts.devMode" value="true" 在tomcat启动时报错的问题
- PHP substr_replace()函数