The following code fragment shows how to setup an administration message
to create a remote queue.
/**
* Create a remote queue
*/
protected void createQueue(MQeQueueManager localQM,
String targetQMgr,
String qMgrName,
String queueName,
String description,
String queueStore,
byte queueMode)
throws Exception
{
/*
* Create an empty queue admin
* message and parameters field
*/
MQeRemoteQueueAdminMsg msg = new MQeRemoteQueueAdminMsg();
MQeFields parms = new MQeFields();
/*
* Prime message with who to reply
* to and a unique identifier
*/
MQeFields msgTest = primeAdminMsg( msg );
/*
* Set name of queue to manage
*/
msg.setName( qMgrName, queueName );
/*
* Add any characteristics of queue here, otherwise
* characteristics will be left to default values.
*/
if ( description != null ) // set the description ?
parms.putUnicode( MQeQueueAdminMsg.Queue_Description,
description);
/*
* set the queue access mode if mode is valid
*/
if ( queueStore != MQeQueueAdminMsg.Queue_Asynchronous &&
queueStore != MQeQueueAdminMsg.Queue_Synchronous )
throw new Exception ("Invalid queue store");
parms.putByte( MQeQueueAdminMsg.Queue_Mode,
queueMode);
if ( queueStore != null ) // Set the queue store ?
/*
* If queue store includes directory and file info then it
* must be set to the correct style for the system that the
* queue will reside on e.g \ or /
*/
parms.putAscii( MQeQueueAdminMsg.Queue_FileDesc,
queueStore );
/*
* Other queue characteristics like queue depth, message expiry
* can be set here …
*/
/*
* Set the admin action to create a new queue
*/
msg.create( parms );
/*
* Put the admin message to the admin
* queue (not assured delivery)
* on the target queue manager
*/
localQM.putMessage( targetQMgr,
MQe.Admin_Queue_Name,
msg,
null,
0);
}