JAVACHL的简单介绍

博主:adminadmin 2023-03-21 03:29:08 502

本篇文章给大家谈谈JAVACHL,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA NullPoint异常 问题 十分费解 求大神解答

由楼主上述得:

因为没有执行if块代码,所以 node 对象 N 中成员变量 parent 不为空,parent 对象中又有个 ChlNo的变量,显然,parent对象中的ChlNo变量为空 所以才报空指针,如果楼主会的话,尝试着debug一下,看看传进方法的N变量下的parent对象下的ChlNo是否为空。

java编译时发生错误

1.class,不是classs,

2.for(i=1;i100;i++)注意是两个分号不是逗号

3.int i,sum; 中间是逗号,不是点

4.system.out.println("1+2+...+100"+sum);是双引,不是单引.

使用ibm MQ 在JAVA类中报: NoClassDefFoundError:com/ibm/mq/headers/internal/trace/Names

1.相关jar包:

com.ibm.mq.commonservices.jar

com.ibm.mq.headers.jar

com.ibm.mq.jar

com.ibm.mq.jmqi.jar

connector.jar

junit-4.4.jar

相关jar可以在ibm mq的安装目录下找到:

2.在mq服务器上创建相应的队列管理器,和队列,以及服务器传输通道。附上操作命令:

--启动队列管理器

strmqm  QMEMBFE

--启动监听

runmqlsr -m QMEMBFE -p 1414 -t tcp

--用户交互管理界面程序

runmqsc  QMEMBFE

--创建本地队列

DEFINE QLOCAL (Q1)

--创建名称为DC.SVRCONN的服务器连接通道

DEFINE CHANNEL(DC.SVRCONN) CHLTYPE (SVRCONN) REPLACE

--删除通道

DELETE CHANNEL(DC.SVRCONN)

3.使用java编写调用程序:

运行方法:单元测试运行:testMQ

MessageByMQ

[java] view plain copy

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import com.ibm.mq.MQC;

import com.ibm.mq.MQEnvironment;

import com.ibm.mq.MQException;

import com.ibm.mq.MQGetMessageOptions;

import com.ibm.mq.MQMessage;

import com.ibm.mq.MQPutMessageOptions;

import com.ibm.mq.MQQueue;

import com.ibm.mq.MQQueueManager;

/**

* 列出常用的错误码:如下:

* 2540:通道定义有错误:/p

*      解决方式如下:/p

*          1.进入用户交互界面:runmqsc  QMEMBFE(QMEMBFE为队列管理器名称)

*          2.创建相应的服务器连接通道:DEFINE CHANNEL(DC.SVRCONN) CHLTYPE (SVRCONN) REPLACE

* 2035:授权相关错误:解决方式如下:

*      进入用户交互界面:(同上):

*  ALTER CHANNEL(DC.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')

*  说明:DC.SVRCONN 服务器连接通道名称 mqm为ibm mq用户名称

*

*

*

*

* @author kefan

*

*/

public class MessageByMQ {

/**

* 队列管理器的名称

*/

private String qManagerName="QMEMBFE";

/**

* 队列管理器

*/

private   MQQueueManager qMgr;

/**

* 队列名称

*/

private  String queueName="Q1";

/**

* 队列

*/

private MQQueue qQueue;

/**

* mq服务器所在的主机名称

*/

private String hostname="192.168.233.134";

/**

* 服务器连接通道名称

*/

private String channelName="DC.SVRCONN";

/**

* 监听器监听的端口

*/

private  int  port=1414;

/**

* 传输的编码类型

*/

private  int CCSID = 1381;

@Before

public  void  init(){

try {

MQEnvironment.hostname = this.hostname; // 安装MQ所在的ip address

MQEnvironment.port = this.port; // TCP/IP port

MQEnvironment.channel = this.channelName;

MQEnvironment.CCSID = CCSID;

qMgr = new MQQueueManager(this.qManagerName);

int qOptioin = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_INQUIRE

| MQC.MQOO_OUTPUT;

qQueue = qMgr.accessQueue(queueName, qOptioin);

} catch (MQException e) {

e.printStackTrace();

}

}

/**

* 发送信息

*/

public void SendMsg(byte[] qByte) {

try {

MQMessage qMsg = new MQMessage();

qMsg.write(qByte);

MQPutMessageOptions pmo = new MQPutMessageOptions();

qQueue.put(qMsg, pmo);

System.out.println("The message is sent!");

System.out.println("\tThe message is " + new String(qByte, "GBK"));

} catch (MQException e) {

e.printStackTrace();

System.out

.println("A WebSphere MQ error occurred : Completion code "

+ e.completionCode + " Reason Code is "

+ e.reasonCode);

} catch (java.io.IOException e) {

e.printStackTrace();

System.out

.println("An error occurred whilst to the message buffer "

+ e);

}

}

/**

* 从消息队列取数据

*/

public void GetMsg() {

try {

MQMessage retrievedMessage = new MQMessage();

MQGetMessageOptions gmo = new MQGetMessageOptions();

gmo.options += MQC.MQPMO_SYNCPOINT;

qQueue.get(retrievedMessage, gmo);

int length = retrievedMessage.getDataLength();

byte[] msg = new byte[length];

retrievedMessage.readFully(msg);

String sMsg = new String(msg,"GBK");

System.out.println(sMsg);

} catch (RuntimeException e) {

e.printStackTrace();

} catch (MQException e) {

e.printStackTrace();

if (e.reasonCode != 2033) // 没有消息

{

e.printStackTrace();

System.out

.println("A WebSphere MQ error occurred : Completion code "

+ e.completionCode

+ " Reason Code is "

+ e.reasonCode);

}

} catch (java.io.IOException e) {

System.out

.println("An error occurred whilst to the message buffer "

+ e);

}

}

/**

* 单元测试方法

*/

@Test

public  void  testMQ(){

MessageByMQ mqst = new MessageByMQ();

mqst.init();

try {

mqst.SendMsg("你好,Webshpere MQ 7.5!".getBytes("GBK"));

mqst.GetMsg();

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 释放资源

*/

@After

public  void  release(){

try {

qQueue.close();

qMgr.disconnect();

} catch (MQException e) {

System.out

.println("A WebSphere MQ error occurred : Completion code "

+ e.completionCode + " Reason Code is "

+ e.reasonCode);

}

}

}

startchl通道后状态为notrunning

看倒数第三行JAVA_HOME=/usr/local/jdk1.8

这个jdk1.8要对应到你的local文件夹下

因为当时我弄的是JAVA_HOME=/usr/local/jdk

我的文件夹命名里没有jdk 只有jdk1.8

所以出现了not running

修改为JAVA_HOME=/usr/local/jdk1.8后出现

JMX enabled by default

Using config: /usr/local/zk/bin/../conf/zoo.cfg

Mode: standalone

这是我的情况,你们如果还是不行的话 再去看看其他经验贴

关于JAVACHL和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。