`
SpaceCity
  • 浏览: 98904 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

WebSphere MQ简单实例(发送消息)

阅读更多
MQ消息发送:
package com.main;

import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;

/**
* MQ发送消息
*
* @author
*/
public class TestSend
{

    /**
     * jms模板,封装链接工厂、队列、消息生产者
     */
    private JmsTemplate jmsTemplate;

    public TestSend()
    {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        jmsTemplate = (JmsTemplate)ctx.getBean("jmsTemplate");
    }

    /**
     * 发送消息
     *
     * @param msg消息
     */
    public void showResult(String msg)
    {
        // Text消息
        MessageCreator messageCreator = createTxtMsg(msg);
        jmsTemplate.send(messageCreator);
        // Map消息
        messageCreator = createMapMsg(msg);
        jmsTemplate.send(messageCreator);
    }

    /**
     * 创建text消息
     *
     * @param msg 消息
     * @return message
     */
    private MessageCreator createTxtMsg(final String msg)
    {
        return new MessageCreator()
        {

            public Message createMessage(Session session) throws JMSException
            {
                TextMessage textMessage = session.createTextMessage();
                textMessage.setText(msg);
                return textMessage;
            }
        };
    }

    /**
     * 创建map消息
     *
     * @param msg消息
     * @return message
     */
    private MessageCreator createMapMsg(final String msg)
    {
        return new MessageCreator()
        {

            public Message createMessage(Session session) throws JMSException
            {
                MapMessage mapMessage = session.createMapMessage();
                mapMessage.setString("map", "javax.jms.MapMessage");
                mapMessage.setString("map1", msg);
                return mapMessage;
            }
        };
    }

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        TestSend send = new TestSend();
        send.showResult("start, send!");
    }

}

配置文件:
<bean id="jmsConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="hostName" value="10.21.139.43" />
<property name="port" value="1414" />
<property name="CCSID" value="1381" />
<property name="queueManager" value="QM_SN_CNHQ_9379C" />
</bean>

<bean id="queue" class="com.ibm.mq.jms.MQQueue">
<property name="baseQueueName" value="default" />
</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="defaultDestination" ref="queue" />
<property name="pubSubDomain" value="false" />
</bean>
  • src.zip (3.3 KB)
  • 下载次数: 158
分享到:
评论
3 楼 shuishoujushi 2012-11-10  
楼主确定这个配置能收发消息吗,JmsTemplate得改成102吧
2 楼 SpaceCity 2012-05-14  
缺少配置和jar;建议将MQ的lib下的jar全部加载。
1 楼 formatall 2012-05-10  
Caused by: java.lang.NoClassDefFoundError: com/ibm/disthub2/impl/client/SessionConfig
at com.ibm.msg.client.wmq.factories.WMQFactoryFactory.setupDistHubTracing(WMQFactoryFactory.java:357)
at com.ibm.msg.client.wmq.factories.WMQFactoryFactory.<init>(WMQFactoryFactory.java:327)
at com.ibm.msg.client.wmq.factories.WMQFactoryFactory.getInstance(WMQFactoryFactory.java:180)
at com.ibm.msg.client.wmq.factories.WMQComponent.getFactoryInstance(WMQComponent.java:131)
at com.ibm.msg.client.jms.internal.JmsFactoryFactoryImpl.getInstance(JmsFactoryFactoryImpl.java:152)
at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.setProviderFactory(JmsConnectionFactoryImpl.java:163)
at com.ibm.mq.jms.MQConnectionFactory.<init>(MQConnectionFactory.java:276)
at com.ibm.mq.jms.MQQueueConnectionFactory.<init>(MQQueueConnectionFactory.java:76)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
... 16 more

相关推荐

    WebSphere MQ 多实例部署方案

    WebSphere MQ 多实例部署方案是一种高级别的高可用性(HA)配置,旨在增强消息中间件的稳定性,确保服务在单个实例失败时仍能继续运行。这一特性自MQV7.0.1版本开始引入,是WebSphere MQ产品的一个核心组件。多实例...

    基于WebSphere MQ发送消息的简单JMS实例

    在WebSphere MQ中,我们可以通过以下步骤创建一个简单的JMS发送消息的实例: 1. **配置WebSphere MQ**:首先,你需要安装并配置WebSphere MQ服务器。这包括设置队列管理器、定义队列以及配置通道以允许客户端连接。...

    websphere mq 多实例的二份资料

    1. **多实例架构**:多实例配置允许在单个物理服务器或多个服务器上部署多个独立的Websphere MQ实例。每个实例都有自己的队列管理器,这样即使一个实例出现问题,其他实例仍能继续处理消息,从而提高了系统的整体...

    Websphere MQ入门教程-使用IBM Websphere MQ

    1. 发送消息:通过编程接口创建消息,指定目标队列,然后发送。 2. 接收消息:应用程序监听队列,当有新消息到达时,将其从队列中取出并处理。 3. 消息确认:消息接收方确认收到消息后,队列管理器将删除消息,以...

    Java下操作IBM Websphere MQ的项目案例

    9. **实例化和测试**:在项目中,你可能会发现示例代码展示了如何创建一个简单的发送和接收消息的测试用例。这些示例会帮助你理解如何在实际应用中使用IBM MQ。 通过这个项目案例,你可以深入了解Java与IBM MQ的...

    Websphere MQ入门教程

    全书共分为3部分共14章,第一部分 WebSphere MQ原理和体系结构,分为两章;第二部分 WebSphere MQ系统管理,分为六章,分别介绍安装、配置、管理、控制命令和问题确定;第三部分 WebSphere MQ应用开发,由五章组成,...

    Java监控WebSphere MQ 7.5中间件信息

    虽然描述中提到的是PCF,但JMS也可以用于监控WebSphere MQ,它提供了消息生产者和消费者的概念,允许程序发送和接收消息。 4. **使用Java PCF连接MQ**:Java程序可以通过com.ibm.mq.pcf.PCFConnection类建立到MQ...

    Websphere MQ入门教程7

    全书涵盖了WebSphere MQ的基础知识、系统管理和应用开发等多个方面,旨在帮助读者深入理解这一消息中间件的工作原理和实际操作。 ### 第一部分:Websphere MQ原理和体系结构 在这一部分,作者首先介绍了中间件的...

    基于WebSphere MQ的MQ trigger实例

    【基于WebSphere MQ的MQ Trigger实例】是一种在IBM WebSphere MQ消息中间件中实现自动响应消息触发机制的技术。MQ Trigger允许应用程序对特定消息队列中的消息进行监控,并在满足预定义条件时执行相应的操作,例如...

    Websphere+MQ全套教程合集.rar

    13. 实现点对点通信:通过实例展示如何使用MQ实现实时系统间的简单通信。 14. 故障恢复与备份:学习如何设计和实施灾难恢复计划,包括备份和恢复Queue Manager。 15. 集成其他系统:了解如何将MQ与ERP、CRM等系统...

    WebsphereMQ查看软件

    “具体代码”这部分可能包含了Java或其他编程语言的示例代码,用于操作WebsphereMQ,例如打开队列、发送和接收消息。在Java中,通常会使用WebSphere MQ Java Message Service (JMS) API来与MQ进行交互。以下是一个...

    IBM Websphere MQ PCF 编程实例

    IBM WebSphere MQ(以前称为MQSeries)是IBM提供的一款企业级消息中间件产品,它允许应用程序之间通过异步传输消息来实现数据交换。PCF(Platform Configuration Facility)是WebSphere MQ的一部分,它提供了与...

    IBM WebSphere MQ的使用

    6. **实例应用**:在“WebSphere MQ 实例”标签中,我们可以期待看到具体的代码示例,如如何连接队列管理器,如何发送和接收消息,以及如何处理异常等。 7. **安全性**:WebSphere MQ支持多种安全机制,包括SSL/TLS...

    IBM Websphere MQ Windows版快速入门.pdf

    - **产品定位**: WebSphere MQ是一款企业级的消息中间件,用于实现不同应用程序和服务之间的异步通信。 - **版本信息**: 文档覆盖的是版本5.3的WebSphere MQ Windows版。 - **兼容性**: 支持多种Windows操作系统版本...

    IBM WebSphere MQ 7.5基本用法

    - 编写发送消息的客户端代码,使用JMS或者MQI API连接队列管理器,发送消息到队列。 - 编写接收消息的服务端代码,同样使用API监听队列,当有新消息到达时,从队列中获取并处理消息。 - 可能还包括运行和测试这些...

    Websphere_MQ入门教程(中文)

    6. 应用开发与实例:通过实际案例展示如何在应用程序中集成和使用Websphere MQ。 7. 管理与监控:讲解如何管理和监控Websphere MQ的运行状态,确保系统的稳定和高效。 8. 故障排查与最佳实践:分享常见问题的解决...

    C# 实现消息的收发IBM WebSphere MQ 队列

    4. **发送消息**:创建`Message`对象,设置消息内容,然后通过`Queue`对象的`Put`方法将消息放入指定的队列。队列可以预先在MQ管理控制台中定义,或者在代码中动态创建。 5. **接收消息**:使用`Get`方法从队列中...

Global site tag (gtag.js) - Google Analytics