1.创建factory
< amq:connectionFactory id="jmsFactory" brokerURL ="failover:(tcp://localhost:61616)" />
2.创建队列
<amq:queue name="user_registerInformation" physicalName "union.user.registerInformation.queue"></amq:queue >
3.创建发送方
<bean id ="userRegisterInformationMessageProducer" class="com.UserRegisterInformationMessageProducer" >
<property name="jmsTemplate" ref="jmsTemplate" ></property>
<property name="destination" ref="user_registerInformation" ></property>
</bean >
<bean id ="jmsTemplate" class="org.springframework.jms.core.JmsTemplate" >
<property name ="connectionFactory" >
<bean class="org.springframework.jms.connection.SingleConnectionFactory" >
<property name ="targetConnectionFactory" ref="jmsFactory" />
</bean>
</property>
<!-- 增加默认目的地 -->
<property name ="defaultDestination" ref="user_registerInformation" />
</bean>
4.创建接收方
<bean id ="jmsTransactionManager"
class="org.springframework.jms.connection.JmsTransactionManager" >
<property name ="connectionFactory" ref="jmsFactory" />
</bean>
<bean id="userRegisterInformationMessageConsumer" class ="com.UserRegisterInformationMessageConsumer" />
<!--注册 监听器 -->
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer" >
<property name ="connectionFactory" ref="jmsFactory" />
<!-- 消息队列来源 -->
<property name ="destination" ref="user_registerInformation" />
<!-- 监听类 -->
<property name ="messageListener" ref="userRegisterInformationMessageConsumer" />
<property name ="sessionTransacted" value="true" /> <!-- 本地事务 -->
<property name ="transactionManager" ref="jmsTransactionManager" /><!-- 数据库-->
<property name ="concurrentConsumers" value="1" ></property>
<property name ="maxConcurrentConsumers" value="10" ></property>
</bean>
5.实现类:
public class UserRegisterInformationMessageProducer {
private JmsTemplate jmsTemplate ;
private Destination destination ;
public void sendMessage() {
jmsTemplate.send(new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
MapMessage mm = session. createMapMessage();
mm. setString("name", "张三");
mm. setString("accountActivationCode", "工");
mm. setString("email", "472218316@qq.com");
return mm;
}
});
}
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"./applicationContext.xml" ,"./applicationContext-jms.xml" });
UserRegisterInformationMessageProducer userRegisterInformationMessageProducer = (UserRegisterInformationMessageProducer) applicationContext.getBean("userRegisterInformationMessageProducer" );
userRegisterInformationMessageProducer.sendMessage();
System. out.println("成功发送了一条JMS消息" );
}
public JmsTemplate getJmsTemplate() {
return jmsTemplate ;
}
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
public Destination getDestination() {
return destination ;
}
public void setDestination(Destination destination) {
this.destination = destination;
}
}
public class UserRegisterInformationMessageConsumer implements MessageListener {
public void onMessage(Message message) {
// TODO Auto-generated method stub
MapMessage mm = (MapMessage) message;
try {
System. out.println("开始接收信息:" );
String username = mm.getString( "name");
String accountActivationCode = mm.getString("accountActivationCode" );
String email = mm.getString( "email");
System. out.println("name:" +username);
System. out.println("email:" +email);
try {
Thread.sleep(5*1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
相关推荐
这个“IBM MQ Demo”是一个简单的示例,用于演示如何将消息放入IBM MQ队列中,这对于理解和学习如何与IBM MQ交互非常有帮助。 首先,我们来看一下提供的文件列表: 1. **Run.bat**:这是一个批处理文件,通常用于...
此“IBM MQ JAVA DEMO”是针对Java开发人员的一个示例,用于演示如何在IBM MQ平台上使用Java API进行消息队列的操作。 首先,我们要了解IBM MQ的基础概念。消息队列是一种异步通信机制,它将数据封装到消息中,然后...
这个Demo项目展示了如何在Spring应用中配置和使用IBM MQ 7.5版本,确保了其兼容性和有效性。 首先,我们需要理解Spring框架的核心概念。Spring是一个开源的应用框架,它提供了一个全面的编程和配置模型,用于创建...
此“IBM-MQ项目DEMO和Jar包.zip”压缩包显然包含了与IBM MQ相关的示例代码和必要的JAR库文件,用于帮助开发者理解和使用IBM MQ。 首先,让我们来详细探讨IBM MQ的核心概念和技术特性: 1. **消息中间件**:IBM MQ...
Java IBM MQ 7.5.0 是IBM提供的消息中间件,用于在分布式系统中可靠地传输数据。MQ(Message Queue)允许应用程序通过消息传递进行通信,而不是直接调用彼此,从而提高了系统的可扩展性和解耦性。MQTT(Message ...
在提供的`mq_demo3`压缩包中,可能包含了一个简单的Java示例,演示了如何连接IBM MQ并执行基本的PUT和GET操作。你可以参考这个示例来理解和学习如何在实际项目中应用这些知识。 总之,Java连接IBM MQ涉及配置环境、...
SpringBoot 集成 IBMMQ 源码 demo,实现两个服务之间的 IBMMQ 消息接收与发送。
Java连接IBM MQ(WebSphere MQ)的Demo是一个典型的示例,用于展示如何在Java应用程序中与MQ消息中间件进行通信。IBM MQ是一个高效、可靠的消息传递系统,它允许分布式应用程序通过消息传递方式进行通信,从而解耦...
IBM Websphere MQ V7.5 简单存取报文demo,包含报头相关操作,需要本地安装IBM Websphere MQ V7.5
IBM MQ (Message Queue) 是IBM提供的一种企业级的消息中间件,它允许应用程序通过消息传递进行异步通信。在本主题中,我们重点关注IBM MQ与Java的集成,即"IBM_MQ_JAVA程序例子"。 首先,我们要理解的是IBM MQ的...
IBM MQ(原名WebSphere MQ)是IBM提供的一款企业级的消息中间件,它允许应用程序在不同的网络协议、操作系统和硬件之间可靠地交换信息。在这个"IBM—MQ消息分组与分段实验"中,我们将深入探讨两个关键概念:消息分组...
在这个“mq_demo(java).zip”压缩包中,我们预计会找到一些使用Java语言开发的IBM MQ测试案例和相关的文档教程,这对于理解和实践IBM MQ在Java环境中的应用非常有帮助。 IBM MQ的核心概念是消息队列,它允许应用...
这个“mq_demo.rar”压缩包文件显然包含了有关如何使用IBM MQ的示例代码或配置,帮助用户了解和实践IBM MQ的用法。 IBM MQ的核心概念是消息队列,它作为一个中间缓冲区,接收并存储来自发送方的消息,然后在适当的...
MQ JAVA 开发工具 demo 涵盖了所有mq开发方法类
IBMMQ 7.5.0.2 版本,版本通用,安装及 MQ 环境搭建指南:https://blog.csdn.net/demo_yo/article/details/133200033。
本文将围绕"Delphi for MQ 2013最新【最全面的demo以及pas】"这一主题,深入探讨Delphi与IBM MQ的整合,以及如何利用提供的资源进行实践。 一、Delphi与IBM MQ接口 Delphi for MQ SDK提供了Delphi开发者访问MQI...
本报告对比分析了两款知名的消息中间件产品——IBM的WebSphere MQ(简称MQ)和北京东方通科技公司的TongLINK/Q。 1. **产品简介** **WebSphere MQ** 是IBM推出的一款旗舰级消息中间件,以其稳定性和安全性著称。...
"SPRING-MVC-MQ-CXF-REST_Demo"这个项目很可能是用来演示如何在同一个应用中整合Spring MVC、MQ、CXF和REST技术。项目可能包含了以下部分: 1. Spring MVC配置:展示了如何设置DispatcherServlet、视图解析器以及...
本实例主要围绕IBM的WebSphere MQ展开,通过Delphi编程环境进行界面开发,为初学者提供了一个易懂的MQ应用实例。 【描述】:“从简单的demo中进行了界面开发。初学很有用!” 这个描述表明,这个压缩包中包含了一...