When you have defined the queue manager and the required queues, you can close() MQeQueueManagerConfigure and run the queue manager.
import com.ibm.mqe.*; import com.ibm.mqe.registry.*; import examples.queuemanager.MQeQueueManagerUtils; try { MQeQueueManagerConfigure qmConfig; MQeFields parms = new MQeFields(); // initialize the parameters MQeFields qmgrFields = new MQeFields(); MQeFields regFields = new MQeFields(); // Queue manager name is needed qmgrFields.putAscii(MQeQueueManager.Name, "qmName"); // Registry information regFields.putAscii(MQeRegistry.LocalRegType, "com.ibm.mqe.registry.MQeFileSession"); regFields.putAscii(MQeRegistry.DirName, "qmname\\Registry"); // add the embedded MQeFields objects parms.putFields(MQeQueueManager.QueueManager, qmgrFields); parms.putFields(MQeQueueManager.Registry, regFields); // activate the configure object qmConfig = new MQeQueueManagerConfigure( parms, "MsgLog:qmName\\Queues\\" ); qmConfig.setDescription("a test queue manager"); qmConfig.setChnlAttributeRuleName("ChannelAttrRules"); qmConfig.defineQueueManager(); qmconfig.defineDefaultAdminQueue(); qmconfig.defineDefaultAdminReplyQueue(); qmconfig.defineDefaultDeadLetterQueue(); qmconfig.defineDefaultSystemQueue(); qmconfig.close(); } catch (Exception e) { … }
The registry definitions for the queue manager and the required queues are created immediately. The queues are not created until they are activated.