The basic steps required to delete a queue manager are:
When these steps are complete, the queue manager is deleted and can no longer be run. The queue definitions are deleted, but the queues themselves are not deleted. Any messages remaining on the queues are inaccessible.
You can use MQeQueueManagerConfigure to delete the standard queues that you created with it. You should use the administration interface to delete any other queues before you call MQeQueueManagerConfigure.
This process is the same as when creating a queue manager.
Delete the default queues by calling:
These methods work successfully even if the queues do not exist.
Delete the queue manager definition by calling deleteQueueManagerDefinition()
import com.ibm.mqe.*; import examples.queuemanager.MQeQueueManagerUtils; try { MQeQueueManagerConfigure qmConfig; MQeFields parms = new MQeFields(); // initialize the parameters ... // Establish any aliases defined by the .ini file MQeQueueManagerUtils.processAlias(parms); qmConfig = new MQeQueueManagerConfigure( parms ); qmConfig.deleteAdminQueueDefinition(); qmConfig.deleteAdminReplyQueueDefinition(); qmConfig.deleteDeadLetterQueueDefinition(); qmConfig.deleteSystemQueueDefinition(); qmConfig.deleteQueueManagerDefinition(); qmconfig.close(); } catch (Exception e) { ... }
You can delete the default queue and queue manager definitions together by calling deleteStandardQMDefinitions(). This method is provided for convenience and is equivalent to:
deleteDeadLetterQueueDefinition(); deleteSystemQueueDefinition(); deleteAdminQueueDefinition(); deleteAdminReplyQueueDefinition(); deleteQueueManagerDefinition();
When you have deleted the queue and queue manager definitions, you can close the MQeQueueManagerConfigure instance.
The complete example looks like this:
import com.ibm.mqe.*; import examples.queuemanager.MQeQueueManagerUtils; try { MQeQueueManagerConfigure qmConfig; MQeFields parms = new MQeFields(); // initialize the parameters ... // Establish any aliases defined by the .ini file MQeQueueManagerUtils.processAlias(parms); qmConfig = new MQeQueueManagerConfigure( parms ); qmConfig.deleteStandardQMDefinitions(); qmconfig.close(); } catch (Exception e) { ... }