Using MQEnvironment class in a java program that is using MQ Series jar files

I am new to working with MQ Series programming. I need to hava java program put a message on an mq series queue and then retrieve the answer off of another queue.  To set up parameters for the qManager connection I need to set values in a class named MQEnvironment. The syntax is:

MQEnvironment.channel = "whatever";

When I do this I get a "NoClassDefFoundError /javaa/resource/ResourceExeption" thown by MQEnvironment.java


import com.ibm.mq.*;
 
 
public class testMQ {
	
	// settings for sean kendall's pc local MQ Series tests:
	String requestQManager = "";
	String requestQueueName = "";
 
	String replyQManager = "";
	String replyQueueName = "";
 
 
	
	public static void main(String args[]) {
		new testMQ();
	}
 
	
	public testMQ() {
		try {
			// The Using Java with MQ Series pdf states that channel must be set to
			// the channel name (String) and port to the port number (int) the MQ Series
			// server is listening on
			
			// settings for sean kendall's pc local MQ Series tests:
			//requestQManager = "QM_SKENDALL";
			//requestQueueName = "SYSTEM.DEFAULT.LOCAL.QUEUE";
			//MQEnvironment.hostname = "localhost";
			
 
			// settings for THome's MQ environment:
			String requestQManager = "I2MMA1";
			MQEnvironment.channel = "CLIENT_CMP";
			MQEnvironment.port = 1420;
			MQEnvironment.hostname = "Q4DE8PSAE24.blf.telekom.de";
			requestQueueName = "ESB_CRMT_BLT_REQRESERVATIONSTAT.REQ.IN";
			replyQueueName = "POC_REQRESERVATIONSTAT.REPLY.OUT";
	
	
			//IMPORTANT: all the settings above must be completed befor declaring a new MQQueueManager
	
			//declare qManagers
			MQQueueManager requestQMgr; 
			MQQueueManager replyQMgr; 
			
			
			// Create a connection to the queue managers
			requestQMgr = new MQQueueManager(requestQManager);
			replyQMgr = new MQQueueManager(replyQManager);
			
			// Set up the options on the queue we wish to open...
			// Note. All MQSeries Options are prefixed with MQC in Java.
			int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT ;
			
			// Now specifythe queue that we wish to open,
			// and the open options...
			//MQQueue system_default_local_queue = requestQMgr.accessQueue(requestQueueName, openOptions);
			MQQueue requestQueue = requestQMgr.accessQueue(requestQueueName, openOptions);
			MQQueue replyQueue = replyQMgr.accessQueue(replyQueueName, openOptions);
			
			// Define a simple MQSeries message, and write some text in UTF format..
			//MQMessage hello_world = new MQMessage();
			MQMessage requestMsg = new MQMessage();
			MQMessage replyMsg = new MQMessage();
			
			//hello_world.writeUTF("Hello World!");
			requestMsg.writeUTF("Give Me Something Back");
			
			// specifythe message options...
			MQPutMessageOptions pmo = new MQPutMessageOptions(); // accept the defaults, same as MQPMO_DEFAULT
 
			// put the message on the queue
			//system_default_local_queue.put(hello_world,pmo);
			requestQueue.put(requestMsg,pmo);
			
			
			// 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);
			replyQueue.get(replyMsg, gmo);
			
			
			// And prove we have the message bydisplay ing the UTF message text
			String msgText = replyMsg.readUTF();
			System.out.println("The message is: " + msgText);
			// Close the queue...
			//system_default_local_queue.close();
			requestQueue.close();
			replyQueue.close();
			
			// Disconnect from the queue manager
			requestQMgr.disconnect();
			replyQMgr.disconnect();
			
			
		} catch (Exception e) {
			System.out.println("An exception occurred: " + e.toString());
		}
		
		/*
			// If an error has occurred in the above, tryto identifywhat went wrong
			// Was it an MQSeries error?
			catch (MQException ex) {
				System.out.println("An MQSeries 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);
			}
		*/
		} // testMQ constructor
} // end of sample

Open in new window

skendall66Asked:
Who is Participating?
 
Gibu GeorgeConnect With a Mentor Chief Technology OfficerCommented:
You need to find the jca.jar and add that to your classpath
0
 
Gibu GeorgeChief Technology OfficerCommented:
I am not sure it is there in jca.jar, the ResourceException is a part of JavaConnector API so I assumed it will be in that.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.