`

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

阅读更多

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

MQSend.java

package com.bijian.study;

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发送消息
*/
public class MQSend {

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

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

    /**
     * 发送消息
     * 
     * @param msg消息
     */
    public void sendMessage(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) {
        MQSend send = new MQSend();
        send.sendMessage("start, send!");
        System.out.println("发送完成!");
    }
}

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
	http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
	
	<!-- ConnectionFactory -->
	<bean id="jmsConnectionFactory" class="com.ibm.mq.jms.MQConnectionFactory">
		<property name="connectionNameList" value="10.36.68.88(1414)" />
		<property name="CCSID" value="1051"/>
		<property name="queueManager" value="QmgrName"/>
		<property name="channel" value="DC.SVRCONN"/>
		<property name="transportType" value="1"/>
	</bean>
	
	<!-- jmsTemplate -->
	<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="connectionFactory" ref="jmsConnectionFactory"/>
		<property name="defaultDestination" ref="requestQueue" />
	</bean>
	
	<bean id="requestQueue" class="com.ibm.mq.jms.MQQueue">
		<property name="baseQueueName" value="LOCALQ"></property>
	</bean>
</beans>

        完整实例见附件《JMSMQDemo.zip》,在运行前请到\WebSphere MQ\java\lib目录下将如下jar包拷贝到工程的lib目录中。



文章来源:http://www.reader8.cn/jiaocheng/20120725/1304026.html

  • 大小: 19.8 KB
分享到:
评论

相关推荐

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

    在"WebSphere MQ简单实例(发送消息)"中,我们通常会经历以下几个步骤: 1. **设置环境**:安装WebSphere MQ服务器,并配置相应的队列管理器(Queue Manager)。这是整个系统的核心,负责管理消息的存储和传输。 2....

    WebSphere MQ开发JMS

    【WebSphere MQ开发JMS】涉及的关键知识点包括Java消息服务(JMS)、Enterprise JavaBean (EJB)、无状态会话Bean(Stateless Session Bean,SSB)、消息驱动Bean(Message-Driven Bean,MDB)、Java Naming and ...

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

    本教程的详细内容可参考附件中的“WebSphere MQ入门教程7.doc”,该文档将深入讲解上述知识点,并包含实例代码和配置步骤,是学习和理解WebSphere MQ的良好参考资料。在实际应用中,读者需结合自身业务场景,灵活...

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

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

    WebsphereMQ查看软件

    这个例子展示了如何使用JMS API连接到WebsphereMQ,创建一个消息并将其发送到指定的队列。请注意,实际使用时需要替换QMGR_NAME、hostname、port、CHANNEL_NAME和QUEUE_NAME为实际配置。 学习和掌握WebsphereMQ不仅...

    Java监控WebSphere MQ 7.5中间件信息

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

    Websphere MQ入门教程7

    最后,书籍深入到应用程序的设计和实现,包括编程接口(如Java Message Service, JMS)的使用、编写消息驱动的程序,以及提供实例程序帮助读者巩固所学知识。 综上所述,《Websphere MQ入门教程7》不仅涵盖了...

    Websphere+MQ全套教程合集.rar

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

    WebSphere MQ API

    IBM JMS(Java Message Service)实现是WebSphere MQ API 的核心部分,它为Java开发者提供了一组标准接口,用于与消息队列进行交互。本文将深入探讨WebSphere MQ API 的关键概念、功能和应用。 首先,我们要明确的...

    IBM WebSphere MQ的使用

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

    IBM WebSphere MQ 7.5基本用法

    IBM WebSphere MQ,常被称为WMQ,是IBM提供的一款企业级的消息中间件产品,它允许应用程序之间通过异步消息传递进行通信,确保数据在不同系统间的可靠传输。在本教程中,我们将深入探讨IBM WebSphere MQ 7.5的基础...

    IBM websphere MQ 多种代码事例

    2. **API使用**:MQ提供了一系列API,如JMS(Java消息服务)和MQ API,允许开发者在应用程序中发送和接收消息。了解这些API的用法至关重要,例如创建连接、打开队列、发送和接收消息等。 3. **同步与异步消息**:MQ...

    Websphere MQ入门教程

    2. 队列管理器(Queue Manager):每个Websphere MQ实例都包含一个或多个队列管理器,它们负责管理队列、通道和其他资源,以及处理消息的路由和传输。 3. 队列(Queues):分为输入队列、输出队列和模型队列。输入...

    WebSphere+MQ+Using+Java

    9. **Transaction Support**:JMS和WebSphere MQ支持事务,确保消息的原子性,即消息要么全部发送成功,要么全部失败。 10. **Error Handling and Logging**:在开发Java应用时,理解如何处理WebSphere MQ抛出的...

    MQ消息队列实例

    本实例将主要探讨Java向MQ发送消息的三种常见方法。 1. **JMS(Java Message Service)接口** JMS是Java平台定义的一种标准API,用于访问消息队列。使用JMS,开发者可以编写与具体MQ实现无关的代码。首先,我们...

    IBM Redbook: WebSphere MQ V7.0 Features and Enhancements

    **改进的 JMS MQ 集成**:JMS (Java Message Service) 是一种广泛使用的 Java API,用于实现消息的发送和接收。在 V7.0 中,JMS 和 WebSphere MQ 之间的集成得到了显著改善,主要体现在以下几个方面: - **性能优化...

    VMWare Fedora 下WebSphere MQ的安装

    为了测试安装,你可以编写一个简单的Java应用程序,使用IBM的JMS库连接到队列管理器并发送/接收消息。确保你的系统已安装Java Development Kit (JDK),并配置好环境变量。 最后,如果你打算在生产环境中使用...

Global site tag (gtag.js) - Google Analytics