IBM MQ7.5 在Windows下的安装部署及使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BAStriver/article/details/86545182

1.首先,先来了解下什么是MQ吧,IBM MQ原理和使用场景

2.下载MQ,官网下载地址,我这里使用的是7.5版本。

3.安装详细步骤参考:https://blog.csdn.net/chqlee1990/article/details/27526859

  以下的代码环境就是参考了上面这个链接的教程,初次配置MQ队列最好完全和教程一致吧。

  值得注意的是,新建服务器连接通道而不是服务器通道:

4.好了,环境配置好了,导入MQ安装目录下的依赖包。

接下来是生产者的代码:

package com.mq.producer;

import java.io.IOException;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQException;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;

/**
 * @author admin
 * 生产者
 */
@SuppressWarnings("deprecation")
public class MessagesProducer {

	public static MQQueueManager QMGR; // 队列管理器
	public static MQQueue QUEUE; // 队列

	static {
		try {
			MQEnvironment.hostname = "10.53.200.147";
			MQEnvironment.port = 8927; // TCP/IP port
			MQEnvironment.channel = "CNN_JACK";
			MQEnvironment.CCSID = 1381;
			MQEnvironment.userID = "MUSR_MQADMIN"; // 用户名对应的密码
			MQEnvironment.password = "123456";
			QMGR = new MQQueueManager("QM_JACK");
			QUEUE = QMGR.accessQueue("QUEUE_RECV",
					MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_INQUIRE | MQC.MQOO_OUTPUT);
		} catch (MQException e) {
			e.printStackTrace();
		}
	}

	public static void seandMSG(String json) {
		MQMessage msg = new MQMessage();// 要写入队列的消息
		msg.format = MQC.MQFMT_STRING;
		msg.characterSet = 1381;
		msg.encoding = 1381;
		try {
			// msg.writeObject(json);// 将消息写入消息对象中
			// msg.writeString(json);
			// msg.writeUTF(json);
			msg.write(json.getBytes());
		} catch (IOException e) {
			e.printStackTrace();
		}
		MQPutMessageOptions pmo = new MQPutMessageOptions();
		msg.expiry = -1; // 设置消息用不过期

		try {
			QUEUE.put(msg, pmo); // 将消息放入队列
		} catch (MQException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:config/spring.xml");
		while (true) {
			// System.out.println("初始化成功!");
		}
	}
}

5.消费者

package com.mq.consumer;

import com.alibaba.fastjson.JSON;
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.MQQueue;
import com.ibm.mq.MQQueueManager;
import com.sunrun.mq.bean.Messages;
import com.sunrun.mq.service.BaseInsertService;

/**
 * @author admin
 * 消费者
 */
public class MessageMQ {
	public static MQQueueManager QMGR; // 队列管理器
	public static MQQueue QUEUE; // 队列
	
	static{
		try {
			MQEnvironment.hostname = "10.53.200.147";
			MQEnvironment.port = 8927; // TCP/IP port
			MQEnvironment.channel = "CNN_JACK";
			MQEnvironment.CCSID = 1381;
			MQEnvironment.userID = "MUSR_MQADMIN"; // 用户名对应的密码
			MQEnvironment.password = "123456";
			QMGR = new MQQueueManager("QM_JACK");
			QUEUE = QMGR.accessQueue("QUEUE_RECV", MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_INQUIRE | MQC.MQOO_OUTPUT);
		} catch (MQException e) {
			e.printStackTrace();
		}
	}
	
	public static void receiveMsg() { 
		int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT | MQC.MQOO_INQUIRE;
		MQQueue queue = null;
		try { 
			queue = QMGR.accessQueue("QUEUE_RECV", openOptions, null, null, null); 
			
			BaseInsertService in = new BaseInsertService();
			while(true){
				int depth = queue.getCurrentDepth(); // 将队列的里的消息读出来 
				if(depth!=0){
					System.out.println("该队列当前的深度为:" + depth);
					System.out.println("===========================");
					while (depth-- > 0) {
						MQMessage msg = new MQMessage();// 要读的队列的消息
						MQGetMessageOptions gmo = new MQGetMessageOptions(); 
						queue.get(msg, gmo); 
						// System.out.println("消息的大小为:" + msg.getDataLength()); 
						byte[] rawData = new byte[msg.getMessageLength()];
						msg.readFully(rawData);
						String mm = new String(rawData);
						// System.out.println("消息的内容:" + mm);
						Messages message = JSON.parseObject(mm, Messages.class);
						// TODO 更新到Mysql
						in.insertMysql(message);
						System.out.println("---------------------------"); 
					} 
				}
			}
		}
		catch (Exception e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} 
		finally { 
			if (queue != null) { 
			try { queue.close(); } 
			catch (MQException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
				} 
			} 
		} 
	}
	
	public static void main(String[] args) {
		receiveMsg();
	}
}

1.代码中MQEnvironment.userID、MQEnvironment.password,测试环境可以不用。

2.遇到问题:MQJE036:队列管理器拒绝连接尝试。

   打开cmd,输入:runmqsc QM_JACK

   然后输入:alter qmgr chlauth

3.生产者write数据的时候要和消费者一致,不然消息读不出来的,就像上面demo那样写吧。

4.遇到MQJE001: Completion Code 2, Reason 2085。检查一下MQ连接配置的MQ队列名是否写错了。

附:1.常用命令:IBM MQ常用的命令

2.MQ错误码:(具体参考官网:IBM MQ 官网错误码

package MQSeries::Constants;

%ReasonText =
  (
   0                                 => "No reason to report.",
   2001                              => "Alias base queue not a valid type.",
   2002                              => "Application already connected.",
   2003                              => "Unit of work encountered fatal error or backed out.",
   2004                              => "Buffer parameter not valid.",
   2005                              => "Buffer length parameter not valid.",
   2006                              => "Length of character attributes not valid.",
   2007                              => "Character attributes string not valid.",
   2008                              => "Not enough space allowed for character attributes.",
   2009                              => "Connection to queue manager lost.",
   2010                              => "Data length parameter not valid.",
   2011                              => "Name of dynamic queue not valid.",
   2012                              => "Call not valid in environment.",
   2013                              => "Expiry time not valid.",
   2014                              => "Feedback code not valid.",
   2016                              => "Gets inhibited for the queue.",
   2017                              => "No more handles available.",
   2018                              => "Connection handle not valid.",
   2019                              => "Object handle not valid.",
   2020                              => "Value for inhibit-get or inhibit-put queue attribute not valid.",
   2021                              => "Count of integer attributes not valid.",
   2022                              => "Not enough space allowed for integer attributes.",
   2023                              => "Integer attributes array not valid.",
   2024                              => "No more messages can be handled within current unit of work.",
   2025                              => "Maximum number of connections reached.",
   2026                              => "Message descriptor not valid.",
   2027                              => "Missing reply-to queue.",
   2029                              => "Message type in message descriptor not valid.",
   2030                              => "Message length greater than maximum for queue.",
   2031                              => "Message length greater than maximum for queue manager.",
   2033                              => "No message available.",
   2034                              => "Browse cursor not positioned on message.",
   2035                              => "Not authorized for access.",
   2036                              => "Queue not open for browse.",
   2037                              => "Queue not open for input.",
   2038                              => "Queue not open for inquire.",
   2039                              => "Queue not open for output.",
   2040                              => "Queue not open for set.",
   2041                              => "Object definition changed since opened.",
   2042                              => "Object already open with conflicting options.",
   2043                              => "Object type not valid.",
   2044                              => "Object descriptor structure not valid.",
   2045                              => "Option not valid for object type.",
   2046                              => "Options not valid or not consistent.",
   2047                              => "Persistence not valid.",
   2048                              => "Message on a temporary dynamic queue cannot be persistent.",
   2049                              => "Message Priority exceeds maximum value supported.",
   2050                              => "Message priority not valid.",
   
======================2======================

   2051                              => "Put calls inhibited for the queue.",
   2052                              => "Queue has been deleted.",
   2053                              => "Queue already contains maximum number of messages.",
   2055                              => "Queue contains one or more messages or uncommitted put or get requests.",
   2056                              => "No space available on disk for queue.",
   2057                              => "Queue type not valid.",
   2058                              => "Queue manager name not valid or not known.",
   2059                              => "Queue manager not available for connection.",
   2061                              => "Report options in message descriptor not valid.",
   2062                              => "A message is already marked.",
   2063                              => "Security error occurred.",
   2065                              => "Count of selectors not valid.",
   2066                              => "Count of selectors too big.",
   2067                              => "Attribute selector not valid.",
   2068                              => "Selector not applicable to queue type.",
   2069                              => "Signal outstanding for this handle.",
   2070                              => "No message returned (but signal request accepted).",
   2071                              => "Insufficient storage available.",
   2072                              => "Syncpoint support not available.",
   2075                              => "Value for trigger-control attribute not valid.",
   2076                              => "Value for trigger-depth attribute not valid.",
   2077                              => "Value for trigger-message-priority attribute not valid.",
   2078                              => "Value for trigger-type attribute not valid.",
   2079                              => "Truncated message returned (processing completed).",
   2080                              => "Truncated message returned (processing not completed).",
   2082                              => "Unknown alias base queue.",
   2085                              => "Unknown object name.",
   2086                              => "Unknown object queue manager.",
   2087                              => "Unknown remote queue manager.",
   2090                              => "Wait interval in MQGMO not valid.",
   2091                              => "Transmission queue not local.",
   2092                              => "Transmission queue with wrong usage.",
   2093                              => "Queue not open for pass all context.",
   2094                              => "Queue not open for pass identity context.",
   2095                              => "Queue not open for set all context.",
   2096                              => "Queue not open for set identity context.",
   2097                              => "Queue handle referred to does not save context.",
   2098                              => "Context not available for queue handle referred to.",
   2099                              => "Signal field not valid.",
   2100                              => "Object already exists.",
   
======================2======================

   2101                              => "Object damaged.",
   2102                              => "Insufficient system resources available.",
   2103                              => "Another queue manager already connected.",
   2104                              => "Report option(s) in message descriptor not recognized.",
   2105                              => "Storage class error.",
   2106                              => "COD report option not valid for XCF queue.",
   2107                              => "MQXWAIT call canceled.",
   2108                              => "Invocation of MQXWAIT call not valid.",
   2109                              => "Call suppressed by exit program.",
   2110                              => "Message format not valid.",
   2111                              => "Source coded character set identifier not valid.",
   2112                              => "Source integer encoding not recognized.",
   2113                              => "Packed-decimal encoding in message not recognized.",
   2114                              => "Floating-point encoding in message not recognized.",
   2115                              => "Target coded character set identifier not valid.",
   2116                              => "Target integer encoding not recognized.",
   2117                              => "Packed-decimal encoding specified by receiver not recognized.",
   2118                              => "Floating-point encoding specified by receiver not recognized.",
   2119                              => "Application message data not converted.",
   2120                              => "Converted data too big for buffer.",
   2121                              => "No participating resource managers registered.",
   2122                              => "Participating resource manager not available.",
   2123                              => "Result of commit or back-out operation is mixed.",
   2124                              => "Result of commit operation is pending.",
   2125                              => "Bridge started.",
   2126                              => "Bridge stopped.",
   2127                              => "Insufficient storage for adapter.",
   2128                              => "Unit of work already started.",
   2129                              => "Unable to load adapter connection module.",
   2130                              => "Unable to load adapter service module.",
   2131                              => "Adapter subsystem definition module not valid.",
   2132                              => "Unable to load adapter subsystem definition module.",
   2133                              => "Unable to load data conversion services modules.",
   2134                              => "Begin-options structure not valid.",
   2135                              => "Distribution header structure not valid.",
   2136                              => "Multiple reason codes returned.",
   2137                              => "Object not opened successfully.",
   2138                              => "Unable to load adapter disconnection module.",
   2139                              => "Connect-options structure not valid.",
   2140                              => "Wait request rejected by CICS.",
   2141                              => "Dead letter header structure not valid.",
   2142                              => "MQ header structure not valid.",
   2143                              => "Source length parameter not valid.",
   2144                              => "Target length parameter not valid.",
   2145                              => "Source buffer parameter not valid.",
   2146                              => "Target buffer parameter not valid.",
   2148                              => "IMS information header structure not valid.",
   2149                              => "PCF structures not valid.",
   2150                              => "DBCS string not valid.",
   
======================2======================

   2152                              => "Object name not valid.",
   2153                              => "Object queue-manager name not valid.",
   2154                              => "Number of records present not valid.",
   2155                              => "Object records not valid.",
   2156                              => "Response records not valid.",
   2157                              => "Primary and home ASIDs differ.",
   2158                              => "Put message record flags not valid.",
   2159                              => "Put message records not valid.",
   2160                              => "Connection identifier already in use.",
   2161                              => "Queue manager quiescing.",
   2162                              => "Queue manager shutting down.",
   2163                              => "Recovery coordinator already exists.",
   2173                              => "Put-message options structure not valid.",
   2183                              => "Unable to load API crossing exit.",
   2184                              => "Remote queue name not valid.",
   2185                              => "Inconsistent persistence specification.",
   2186                              => "Get-message options structure not valid.",
   2187                              => "Requested function not supported by CICS bridge.",
   2188                              => "Call rejected by cluster-workload exit.",
   2189                              => "Cluster name resolution failed.",
   2190                              => "Converted string too big for field.",
   2191                              => "Character trigger message structure not valid.",
   2192                              => "Page set data set full.",
   2193                              => "Error accessing page set data set.",
   2194                              => "Object name not valid for object type.",
   2195                              => "Unexpected error occurred.",
   2196                              => "Unknown transmission queue.",
   2197                              => "Unknown default transmission queue.",
   2198                              => "Default transmission queue not local.",
   2199                              => "Default transmission queue usage error.",
  
=====================2=======================

   2201                              => "Name in use.",
   2202                              => "Connection quiescing.",
   2203                              => "Connection shutting down.",
   2204                              => "Adapter not available.",
   2206                              => "Message-identifier error.",
   2207                              => "Correlation-identifier error.",
   2208                              => "File-system error.",
   2209                              => "No message locked.",
   2217                              => "Not authorized for connection.",
   2218                              => "Message length greater than maximum for channel.",
   2219                              => "MQI call reentered before previous call complete.",
   2220                              => "Reference message header structure not valid.",
   2222                              => "Queue manager created.",
   2223                              => "Queue manager unavailable.",
   2224                              => "Queue depth high limit reached or exceeded.",
   2225                              => "Queue depth low limit reached or exceeded.",
   2226                              => "Queue service interval high.",
   2227                              => "Queue service interval ok.",
   2232                              => "Unit of work not started.",
   2233                              => "Automatic channel definition succeeded.",
   2234                              => "Automatic channel definition failed.",
   2235                              => "PCF header structure not valid.",
   2236                              => "PCF integer list parameter structure not valid.",
   2237                              => "PCF integer parameter structure not valid.",
   2238                              => "PCF string list parameter structure not valid.",
   2239                              => "PCF string parameter structure not valid.",
   2241                              => "Message group not complete.",
   2242                              => "Logical message not complete.",
   2243                              => "Message segments have differing CCSIDs.",
   2244                              => "Message segments have differing encodings.",
   2245                              => "Inconsistent unit-of-work specification.",
   2246                              => "Message under cursor not valid for retrieval.",
   2247                              => "Match options not valid.",
   2248                              => "Message descriptor extension not valid.",
   2249                              => "Message flags not valid.",
   2250                              => "Message sequence number not valid.",
  
=======================2=====================

   2251                              => "Message segment offset not valid.",
   2252                              => "Original length not valid.",
   2253                              => "Length of data in message segment is zero.",
   2255                              => "Unit of work not available for the queue manager to use.",
   2256                              => "Wrong version of MQGMO supplied.",
   2257                              => "Wrong version of MQMD supplied.",
   2258                              => "Group identifier not valid.",
   2259                              => "Inconsistent browse specification.",
   2260                              => "Transmission queue header structure not valid.",
   2261                              => "Source environment data error.",
   2262                              => "Source name data error.",
   2263                              => "Destination environment data error.",
   2264                              => "Destination name data error.",
   2265                              => "Trigger message structure not valid.",
   2266                              => "Cluster workload exit failed.",
   2267                              => "Unable to load cluster workload exit.",
   2268                              => "Put calls inhibited for all queues in cluster.",
   2270                              => "No destination queues available.",
   2273                              => "Error processing MQCONN call.",
   2274                              => "Option not valid in environment.",
   2277                              => "Channel definition not valid.",
   2278                              => "Client connection fields not valid.",
   2279                              => "Channel stopped by user.",
   2280                              => "Configuration handle not valid.",
   2281                              => "Function identifier not valid for service.",
   2282                              => "Channel started.",
   2283                              => "Channel stopped.",
   2284                              => "Channel conversion error.",
   2285                              => "Underlying service not available.",
   2286                              => "Initialization failed for an undefined reason.",
   2287                              => "Termination failed for an undefined reason.",
   2288                              => "Queue name not found.",
   2289                              => "Unexpected error occurred accessing service.",
   2290                              => "Queue object already exists.",
   2291                              => "Unable to determine the user ID.",
   2292                              => "Entity unknown to service.",
   2293                              => "Authorization entity unknown to service.",
   2294                              => "Reference object unknown.",
   2295                              => "Channel activated.",
   2296                              => "Channel cannot be activated.",
   2297                              => "Unit of work canceled.",
   2299                              => "Selector has wrong data type.",
   2300                              => "Command type not valid.",
  
=======================2=====================

   2301                              => "Multiple instances of system data item not valid.",
   2302                              => "System data item is read-only and cannot be altered.",
   2303                              => "Data could not be converted into a bag.",
   2304                              => "Selector not within valid range for call.",
   2305                              => "Selector occurs more than once in bag.",
   2306                              => "Index not present.",
   2307                              => "String parameter not valid.",
   2308                              => "Encoding not supported.",
   2309                              => "Selector not present in bag.",
   2310                              => "OutSelector parameter not valid.",
   2311                              => "String truncated (too long for output buffer).",
   2312                              => "Selector implies a data type not valid for call.",
   2313                              => "Data type of item differs from previous occurrence of selector.",
   2314                              => "Index not valid.",
   2315                              => "System bag is read-only and cannot be altered.",
   2316                              => "ItemCount parameter not valid.",
   2317                              => "Format not supported.",
   2318                              => "System selector not supported.",
   2319                              => "ItemValue parameter not valid.",
   2320                              => "Bag handle not valid.",
   2321                              => "Parameter missing.",
   2322                              => "Command server not available.",
   2323                              => "StringLength parameter not valid.",
   2324                              => "Command code is not a recognized inquiry command.",
   2325                              => "Input bag contains one or more nested bags.",
   2326                              => "Bag has wrong type for intended use.",
   2327                              => "ItemType parameter not valid.",
   2328                              => "System bag is read-only and cannot be deleted.",
   2329                              => "System data item is read-only and cannot be deleted.",
   2330                              => "Coded character set identifier parameter not valid.",
   2331                              => "Use of message token not valid.",
   2332                              => "Message data does not begin with MQWIH.",
   2333                              => "MQWIH structure not valid.",
   2334                              => "MQRFH structure not valid.",
   2335                              => "<TT><VAR>NameValueString</VAR></TT> field not valid.",
   2336                              => "Command not valid.",
   2337                              => "Parameter not valid.",
   2338                              => "Duplicate parameter.",
   2339                              => "Parameter missing.",
   2367                              => "Create Object",
   2368                              => "Change Object",
   2369                              => "Delete Object",
   2370                              => "Refresh Object",
   
=====================3=======================

   3001                              => "Type not valid.",
   3002                              => "Structure length not valid.",
   3003                              => "Structure version number is not valid.",
   3004                              => "Message sequence number not valid.",
   3005                              => "Control option not valid.",
   3006                              => "Parameter count not valid.",
   3007                              => "Command identifier not valid.",
   3008                              => "Command failed.",
   3009                              => "Structure length not valid.",
   3010                              => "Structure length not valid.",
   3011                              => "String length not valid.",
   3012                              => "Force value not valid.",
   3013                              => "Structure type not valid.",
   3014                              => "Parameter identifier is not valid.",
   3015                              => "Parameter identifier is not valid.",
   3016                              => "Message length not valid.",
   3017                              => "Duplicate parameter.",
   3018                              => "Duplicate parameter.",
   3019                              => "Parameter count too small.",
   3020                              => "Parameter count too big.",
   3021                              => "Queue already exists in cell.",
   3022                              => "Queue type not valid.",
   3023                              => "Format not valid.",
   3025                              => "Replace value not valid.",
   3026                              => "Duplicate parameter.",
   3027                              => "Count of parameter values not valid.",
   3028                              => "Structure length not valid.",
   3029                              => "Mode value not valid.",
   3029                              => "Quiesce value not valid.",
   3030                              => "Message sequence number not valid.",
   3031                              => "Data count not valid.",
   3032                              => "Ping Channel command failed.",
   3034                              => "Channel type not valid.",
   3035                              => "Parameter sequence not valid.",
   3036                              => "Transmission protocol type not valid.",
   3037                              => "Batch size not valid.",
   3038                              => "Disconnection interval not valid.",
   3039                              => "Short retry count not valid.",
   3040                              => "Short timer value not valid.",
   3041                              => "Long retry count not valid.",
   3042                              => "Long timer not valid.",
   3043                              => "Sequence wrap number not valid.",
   3044                              => "Maximum message length not valid.",
   3045                              => "Put authority value not valid.",
   3046                              => "Purge value not valid.",
   3047                              => "Parameter identifier is not valid.",
   3048                              => "Message truncated.",
   3049                              => "Coded character-set identifier error.",
   3050                              => "Encoding error.",
   3052                              => "Data conversion value not valid.",
   3053                              => "In-doubt value not valid.",
   3054                              => "Escape type not valid.",
   3062                              => "Channel table value not valid.",
   3063                              => "Message channel agent type not valid.",
   3064                              => "Channel instance type not valid.",
   3065                              => "Channel status not found.",
   3066                              => "Duplicate parameter.",
   3067                              => "Total string length error.",
   3068                              => "Name count value not valid.",
   3069                              => "String length not valid.",
   3086                              => "Queue manager coded character set identifier error.",
   3088                              => "ClusterName and ClusterNamelist attributes conflict.",
   3089                              => "RepositoryName and RepositoryNamelist attributes conflict.",
   3090                              => "Cluster queue cannot be a transmission queue.",
   3092                              => "Library for requested communications protocol could not be loaded.",
   3093                              => "NetBIOS listener name not defined.",
   3095                              => "Conflicting parameters.",
   3150                              => "Content based filter expression not valid.",
   3151                              => "Wrong user.",
  
=====================4=======================

   4001                              => "Object already exists.",
   4002                              => "Object has wrong type.",
   4003                              => "New and existing objects have different type.",
   4004                              => "Object is open.",
   4005                              => "Attribute value not valid.",
   4006                              => "Queue manager not known.",
   4007                              => "Action not valid for the queue of specified type.",
   4008                              => "Object name not valid.",
   4009                              => "Allocation failed.",
   4010                              => "Remote system not available.",
   4011                              => "Configuration error.",
   4012                              => "Connection refused.",
   4013                              => "Invalid connection name.",
   4014                              => "Send failed.",
   4015                              => "Received data error.",
   4016                              => "Receive failed.",
   4017                              => "Connection closed.",
   4018                              => "Not enough storage available.",
   4019                              => "Communications manager not available.",
   4020                              => "Listener not started.",
   4024                              => "Bind failed.",
   4025                              => "Channel in-doubt.",
   4026                              => "MQCONN call failed.",
   4027                              => "MQOPEN call failed.",
   4028                              => "MQGET call failed.",
   4029                              => "MQPUT call failed.",
   4030                              => "Ping error.",
   4031                              => "Channel in use.",
   4032                              => "Channel not found.",
   4033                              => "Remote channel not known.",
   4034                              => "Remote queue manager not available.",
   4035                              => "Remote queue manager terminating.",
   4036                              => "MQINQ call failed.",
   4037                              => "Queue is not a transmission queue.",
   4038                              => "Channel disabled.",
   4039                              => "User exit not available.",
   4040                              => "Commit failed.",
   4041                              => "Parameter not allowed for this channel type.",
   4042                              => "Channel already exists.",
   4043                              => "Data too large.",
   4044                              => "Channel name error.",
   4045                              => "Transmission queue name error.",
   4047                              => "Message channel agent name error.",
   4048                              => "Channel send exit name error.",
   4049                              => "Channel security exit name error.",
   4050                              => "Channel message exit name error.",
   4051                              => "Channel receive exit name error.",
   4052                              => "Transmission queue name not allowed for this channel type.",
   4053                              => "Message channel agent name not allowed for this channel type.",
   4054                              => "Disconnection interval not allowed for this channel type.",
   4055                              => "Short retry parameter not allowed for this channel type.",
   4056                              => "Short timer parameter not allowed for this channel type.",
   4057                              => "Long retry parameter not allowed for this channel type.",
   4058                              => "Long timer parameter not allowed for this channel type.",
   4059                              => "Put authority parameter not allowed for this channel type.",
   4060                              => "Keepalive interval not valid.",
   4061                              => "Connection name parameter required but missing.",
   4062                              => "Error in connection name parameter.",
   4063                              => "MQSET call failed.",
   4064                              => "Channel not active.",
   4065                              => "Channel terminated by security exit.",
   4067                              => "Dynamic queue scope error.",
   4068                              => "Cell directory is not available.",
   4069                              => "Message retry count not valid.",
   4070                              => "Message-retry count parameter not allowed for this channel type.",
   4071                              => "Channel message-retry exit name error.",
   4072                              => "Message-retry exit parameter not allowed for this channel type.",
   4073                              => "Message retry interval not valid.",
   4074                              => "Message-retry interval parameter not allowed for this channel type.",
   4075                              => "Nonpersistent message speed not valid.",
   4076                              => "Nonpersistent message speed parameter not allowed for this channel type.",
   4077                              => "Heartbeat interval not valid.",
   4078                              => "Heartbeat interval parameter not allowed for this channel type.",
   4079                              => "Channel automatic definition error.",
   4080                              => "Channel automatic definition parameter not allowed for this channel type.",
   4081                              => "Channel automatic definition event error.",
   4082                              => "Channel automatic definition event parameter not allowed for this channel type.",
   4083                              => "Channel automatic definition exit name error.",
   4084                              => "Channel automatic definition exit parameter not allowed for this channel type.",
   4085                              => "Action suppressed by exit program.",
   4086                              => "Batch interval not valid.",
   4087                              => "Batch interval parameter not allowed for this channel type.",
   4088                              => "Network priority value is not valid.",
   4089                              => "Network priority parameter not allowed for this channel type.",
   
=======================6=====================

   6117                              => "Length is negative.",
   900                               => "Lowest value for an application-defined reason code returned by a data-conversion exit.",
   999                               => "Highest value for application-defined reason code returned by a data-conversion exit.",
   3091                              => "Action value not valid.",




  );

猜你喜欢

转载自blog.csdn.net/BAStriver/article/details/86545182