Solved

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

Posted on 2009-04-07
3
4,719 Views
Last Modified: 2012-05-06
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

0
Comment
Question by:skendall66
  • 2
3 Comments
 
LVL 12

Accepted Solution

by:
Gibu George earned 250 total points
ID: 24089334
You need to find the jca.jar and add that to your classpath
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24089389
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
groupNoAdj 7 86
topping1 challenge 7 73
Unable to start eclipse ? 17 133
Java JRE greater than 1.6 5 51
INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now