mq java_mq java client 方式和mq java binding方式的区别

展开全部

MQ Java Binding方式使用JNI(Java Native Interface)类似于MQ 服务器应用程序。

MQSeries Java客户机服务器连接最快的方式是MQ Java Binding方式,这种方式要求MQ Java应用和e68a8462616964757a686964616f31333337376330MQ Server在同一台机器上。使用MQ Java Binding方式避免了建立网络连接的开销,因此,当连接对性能影响很大时,应当选用MQ Java Binding方式。

MQ Java Client方式通过Server端定义的服务器连接通道连接,服务器方需要启动侦听程序。MQ Java Client方式用于Java客户程序和服务器不在同一台机器时进行连接。

客户端连接,建立MQEnvironment类

MQEnvironment.hostname

以下是,客户端连接例子

// ===========================================================================

//

// Licensed Materials - Property of IBM

//

// 5639-C34

//

// (c) Copyright IBM Corp. 1995,1999

//

// ===========================================================================

// WebSphere MQ M'z Java f sample applet

//

// This sample runs as an applet using the appletviewer and HTML file,

// using the command :-

// appletviewer MQSample.html

// Output is to the command line, NOT the applet viewer window.

//

// Note. If you receive WebSphere MQ error 2 reason 2059 and you are sure your

// WebSphere MQ and TCP/IP setup is correct,

// you should click on the "Applet" selection in the Applet viewer window

// select properties, and change "Network access" to unrestricted.

import com.ibm.mq.*; // Include the WebSphere MQ classes for Java package

public class MQSample extends java.applet.Applet

{

private String hostname = "your_hostname"; // define the name of your

// host to connect to

private String channel = "server_channel"; // define name of channel

// for client to use

// Note. assumes WebSphere MQ Server

// is listening on the default

// TCP/IP port of 1414

private String qManager = "your_Q_manager"; // define name of queue

// manager object to

// connect to.

private MQQueueManager qMgr; // define a queue manager object

// When the class is called, this initialization is done first.

public void init()

{

// Set up WebSphere MQ environment

MQEnvironment.hostname = hostname; // Could have put the

// hostname & channel

MQEnvironment.channel = channel; // string directly here!

MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,//Set TCP/IP or server

MQC.TRANSPORT_MQSERIES);//Connection

} // end of init

public void start()

{

try {

// Create a connection to the queue manager

qMgr = new MQQueueManager(qManager);

// Set up the options on the queue we wish to open...

// Note. All WebSphere MQ Options are prefixed with MQC in Java.

int openOptions = MQC.MQOO_INPUT_AS_Q_DEF |

MQC.MQOO_OUTPUT ;

// Now specify the queue that we wish to open, and the open options...

MQQueue system_default_local_queue =

qMgr.accessQueue("SYSTEM.DEFAULT.LOCAL.QUEUE",

openOptions);

// Define a simple WebSphere MQ message, and write some text in UTF format..

MQMessage hello_world = new MQMessage();

hello_world.writeUTF("Hello World!");

// specify the message options...

MQPutMessageOptions pmo = new MQPutMessageOptions(); // accept the defaults,

// same as

// MQPMO_DEFAULT

// constant

// put the message on the queue

system_default_local_queue.put(hello_world,pmo);

// get the message back again...

// First define WebSphere MQ message buffer to receive the message into..

MQMessage retrievedMessage = new MQMessage();

retrievedMessage.messageId = hello_world.messageId;

// Set the get message options..

MQGetMessageOptions gmo = new MQGetMessageOptions(); // accept the defaults

// same as

// MQGMO_DEFAULT

// get the message off the queue..

system_default_local_queue.get(retrievedMessage, gmo);

// And prove we have the message by displaying the UTF message text

String msgText = retrievedMessage.readUTF();

System.out.println("The message is: " + msgText);

// Close the queue

system_default_local_queue.close();

// Disconnect from the queue manager

qMgr.disconnect();

}

// If an error has occurred in the above, try to identify what went wrong.

// Was it WebSphere MQ error?

< 1. WebSphere MQ classes for Java >} applet (2/3)

>}zk

62 WebSphere MQ 9C Java

>}&CLrzk

TBzkN]>;vr%D&CLr,|9Cs(==:

1. ,S=SP\mw

2. +{"Ek SYSTEM.DEFAULT.LOCAL.QUEUE

3. YN!5XD{"

catch (MQException ex)

{

System.out.println("WebSphere MQ error occurred : Completion code " +

ex.completionCode +

" Reason code " + ex.reasonCode);

}

// Was it a Java buffer space error?

catch (java.io.IOException ex)

{

System.out.println("An error occurred whilst writing to the

message buffer: " + ex);

}

} // end of start

} // end of sample

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值