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

WAS7.0 + MQ 7.0 + JNDI 最简配置和收发示例

 
阅读更多

1、MQ上新建QM和MQ
    QM:WBRK_QM
    MQ:Q1(本地队列)

 

图片

 

2、在WAS上配置JNDI的JMS队列连接工厂,资源——JMS——队列连接工厂

 

 

图片

 2.1、选择一个作用域

 2.2、点击【新建】

 2.3、选择 JMS 资源提供程序,这里选 WebSphere MQ messaging provider

 

图片

 2.4、点击【确定】

 2.5、填写【名称】和【JNDI名称】

 

图片

 

 2.6、点击【下一步】

 

图片

 2.7、继续点击【下一步】,输入队列管理器名称 

 

图片

 2.8、点击【下一步】,

          【传输】选“客户机”

          【主机名】写MQ所在主机地址

          【端口】写MQ监听器的端口,默认1414

          【服务器连接通道】,写连接通道的名字

 

图片

 2.9、点击【测试连接】,并测试成功

 

图片

 

图片

 2.10、摘要,并点击【完成】

 

图片

 

 3、配置队列JNDI

 3.1、点击【新建】

 

图片

 

 3.2、选择 JMS 资源提供程序

 

图片

 

 3.3、点击【下一步】、填写各项

 

图片

 

3.4、点击【WebSphere MQ 连接属性】,填写各个属性

 

图片

 

3.5、点击【确定】。

 

4、编写发送方程序

 

package jmsdemo.client;


import java.io.UnsupportedEncodingException;

import java.util.Properties;


import javax.jms.BytesMessage;

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.Destination;

import javax.jms.JMSException;

import javax.jms.MessageProducer;

import javax.jms.Session;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;


public class JMSClientProducer 

{

public static void main(String[] args) 

{

ConnectionFactory connectionFactory = null;

Connection connection = null;

Session session = null;

Destination destination = null; // 它有两个子接口 TemporaryQueue 和 TemporaryTopic 见《精通MQ》P249

MessageProducer messageProducer = null;

try

{

Properties p = new Properties();

p.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");

p.put(Context.SECURITY_AUTHENTICATION, "simple");  

p.put(Context.SECURITY_PRINCIPAL, "LZC");  

p.put(Context.SECURITY_CREDENTIALS, "999999999"); 

p.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming"); 

p.put(Context.PROVIDER_URL, "iiop://127.0.0.1:2813/"); 

Context context = new InitialContext(p);

Object jndi_ConnectionFactory = context.lookup("MQConnectionFactoryDEMO");

Object jndi_Destionation = context.lookup("队列DEMO");

connectionFactory = (ConnectionFactory) jndi_ConnectionFactory;

destination = (Destination) jndi_Destionation;

connection = connectionFactory.createConnection();

session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

messageProducer = session.createProducer(destination);

messageProducer.setTimeToLive(100000);

BytesMessage message = session.createBytesMessage();

message.setStringProperty("MsgID", "MsgID_001");

message.writeBytes("MESSAGECONTENT".getBytes("GBK"));

message.setJMSCorrelationID("CorrelationID_001");

messageProducer.send(message);

}

catch ( NamingException e )

{}

catch ( JMSException e )

{}

catch ( UnsupportedEncodingException e )

{}

finally

{

if ( connection != null )

{

if ( messageProducer != null )

{

try

{

messageProducer.close();

catch (JMSException e) 

{

e.printStackTrace();

}

}

if ( session != null )

{

try 

{

session.close();

catch (JMSException e) 

{

e.printStackTrace();

}

}

try 

{

connection.close();

catch (JMSException e)

{

e.printStackTrace();

}

}

}

}


}

 

 

5、编写接收方程序

package jmsdemo.client;

import java.util.Properties;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class JMSClientConsumer 
{
public static void main(String[] args) 
{
ConnectionFactory connectionFactory = null;
Connection connection = null;
Session session = null;
Destination destination = null;
MessageConsumer messageConsumer = null;
try
{
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
p.put(Context.SECURITY_AUTHENTICATION, "simple");  
p.put(Context.SECURITY_PRINCIPAL, "LZC");  
p.put(Context.SECURITY_CREDENTIALS, "999999999"); 
p.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming"); 
p.put(Context.PROVIDER_URL, "iiop://127.0.0.1:2813/"); 
Context context = new InitialContext(p);
Object jndi_ConnectionFactory = context.lookup("MQConnectionFactoryDEMO");
Object jndi_Destionation = context.lookup("队列DEMO");
connectionFactory = (ConnectionFactory) jndi_ConnectionFactory;
destination = (Destination) jndi_Destionation;
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

messageConsumer = session.createConsumer(destination);
connection.start();
Message m = messageConsumer.receive(1000 * 1);
if ( m instanceof TextMessage )
{
TextMessage textMessage = (TextMessage) m;
System.out.println(textMessage.getText());
}
}
catch ( NamingException e )
{}
catch ( JMSException e )
{}
finally
{
if ( connection != null )
{
if ( messageConsumer != null )
{
try
{
messageConsumer.close();
catch (JMSException e) 
{
e.printStackTrace();
}
}
if ( session != null )
{
try 
{
session.close();
catch (JMSException e) 
{
e.printStackTrace();
}
}
try 
{
connection.close();
catch (JMSException e)
{
e.printStackTrace();
}
}
}

}

分享到:
评论

相关推荐

    TongWeb V7.0 服务配置指南

    此外,TongWeb V7.0 服务配置指南还涵盖了许多其他方面的知识点,例如虚拟主机配置、通道配置、W3协议远程调用配置、JNDI资源配置、SSL配置、JDBC连接池管理等。 在TongWeb V7.0 中,虚拟主机配置是用于配置虚拟...

    was7.0连接db2 purescale配置

    以下是关于"was7.0连接db2 purescale配置"的具体步骤和关键知识点: 1. **网络配置**: 在配置过程中,首先要确保网络通信的畅通。在 `/etc/hosts` 文件中,你需要为每个DB2 PureScale集群节点添加对应的IP地址和...

    websphere7.0详细安装图解

    综上所述,本资源提供的Websphere7.0安装图解和相关操作指南,旨在帮助用户熟练掌握WAS7.0的安装、Server管理以及应用部署,包括JCC认证和JNDI数据源的配置。这将对在企业环境中搭建和管理Java应用服务器有着重要的...

    eclipse+mysql+tomcat配置JNDI

    本篇文章将深入探讨如何在这样的环境下配置JNDI(Java Naming and Directory Interface),以便于应用程序能方便地查找和使用数据库资源。JNDI是Java平台中的一种标准服务,它提供了一个统一的接口来查找和管理各种...

    was7.0 安装部署 liferay

    如果使用 WAS 提供的连接池和邮件会话,则只需添加 JNDI 名称等基本配置信息即可。例如: ```properties jdbc.default.jndi.name=jdbc/LiferayPool mail.session.jndi.name=mail/MailSession ``` #### 二、配置...

    JNDI简单应用示例

    通过阅读和学习这个示例,你可以掌握如何在实际项目中利用JNDI来管理和查找资源,提高代码的可维护性和可扩展性。对于那些处理复杂企业级应用,尤其是需要频繁交互各种服务的开发者来说,理解并熟练使用JNDI是非常有...

    tomcat配置jndi有全局配置和局部配置

    JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称...本文档主要是tomcat配置jndi有全局配置和局部配置:

    WAS中配置MQ.doc

    在WAS主机上安装WebSphere MQ客户端和WebSphere MQ Java支持,以便WAS可以与MQ通信。 5. **配置WAS环境变量**: - 在WAS管理控制台中,设置`MQ_INSTALL_ROOT`变量,指向MQ的安装路径。 - 设置`MQJMS_LIB_ROOT`...

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    当Tomcat服务器启动时,将根据这些配置创建相应的JNDI和JNDI入口。从JNDI中检索信息的方式与从应用服务器中检索相同,但Tomcat JNDI在服务器启动完成后变为只读状态。 #### 三、利用JNDI DataSource 一旦配置了`...

    SH+MQ+JPA集成

    集成上述技术时,首先需要在Spring配置中声明数据源(JNDI或C3P0)、ActiveMQ的ConnectionFactory和JPA的EntityManagerFactory。接着,定义消息生产者和消费者,使用Spring的JmsTemplate发送和接收消息。在业务逻辑...

    SpringMVC+JNDI+Tomcat配置数据源

    ### SpringMVC+JNDI+Tomcat配置数据源 #### 一、简介 在Java Web开发中,数据源(DataSource)是管理数据库连接的重要组件。SpringMVC框架结合Java Naming and Directory Interface (JNDI) 和Apache Tomcat服务器...

    jndi连接数据库配置方法

    JNDI,全称Java Naming and Directory Interface,是Java平台中的一个标准接口,它提供了一种在Java...提供的压缩包文件可能包含了详细步骤、示例代码或者配置模板,可以帮助你更好地理解和实践JNDI连接数据库的过程。

    websphere7.0数据源配置与应用程序安装

    ### WebSphere 7.0 数据源配置与应用程序安装详解 #### WebSphere 7.0 简介 WebSphere Application Server (WAS) 7.0 是一款由 IBM 开发的企业级应用服务器,用于托管 Java 应用程序。它提供了高度可扩展、可靠且...

    JNDI数据源配置

    本文将详细介绍如何使用JNDI配置不同的数据库连接,并通过Tomcat服务器进行示例演示。 #### 二、JNDI简介 JNDI是一种标准的API,用于访问命名和目录服务。它允许开发者使用统一的方式在分布式环境中查找和引用远程...

    servlet+mysql的jndi配置

    ### servlet+mysql的jndi配置详解 #### 一、配置数据库连接池 数据库连接池是一种用于管理数据库连接的技术,可以提高应用访问数据库的效率。本文档主要介绍如何在基于servlet的应用中配置MySQL数据库连接池,并...

    JNDI示例整合SSH

    **标题:“JNDI示例整合SSH”** 在IT领域,`JNDI`(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问命名和目录服务。它允许应用程序查找和操作不同类型的网络资源,如数据源、EJB等...

    新手入门_WebSphere Server MQ配置_step by step.doc

    这是因为WebSphere MQ需要和WebSphere Application Server进行通信,在配置WebSphere MQ时需要使用到WebSphere Application Server的主机名。 二、安装和配置WebSphere MQ 第一步是在WebSphere MQ主机上安装和配置...

Global site tag (gtag.js) - Google Analytics