Websphere MQ Everyplace

examples.queuemanager
Class MQeQueueManagerUtils

java.lang.Object
  |
  +--com.ibm.mqe.MQe
        |
        +--examples.queuemanager.MQeQueueManagerUtils
All Implemented Interfaces:
MQeExceptionCodes

public class MQeQueueManagerUtils
extends MQe

To provide a set of helper methods for configuring and starting various MQe components.

Each component has a Process* method which accepts configuration data via an MQeFields object and then initialises the component To allow the configuration data to be stored persistently on disk methods are provided to save and restore to/from an ini file. This class extends MQe class.

------------------------------------------------------------------------------

 Example configuration data fields :

   [Aliases]
      (ascii)EventLog=examples.eventLog.LogToDiskFile
      (ascii)MsgLog=com.ibm.mqe.adapters.MQeDiskFieldsAdapter

   [ChannelManager]
      (int)MaxChannels=1

   [Listener]
      (ascii)Listen=Network::80
      (ascii)Network=Network:
      (int)TimeInterval=300

   [QueueManager]
      (ascii)Name=ServerQMgr

   [Registry]
      (ascii)RegType=FileRegistry
      (ascii)Path=.\ExampleQM\Registry\
      (ascii)PrivRegPIN=12345678
 


Field Summary
static java.lang.String Section_Alias
           
static java.lang.String Section_ChannelManager
           
static java.lang.String Section_Listener
           
static java.lang.String Section_MQBridge
           
static java.lang.String SECTION_NAME_SYSTEM_PROPERTIES
           
static java.lang.String Section_PreLoad
           
static java.lang.String Section_QueueManager
           
static short[] version
           
 
Fields inherited from class com.ibm.mqe.MQe
Admin_Queue_Name, Admin_Reply_Queue_Name, copyright, DeadLetter_Queue_Name, Event_Activate, Event_Attribute, Event_Authenticate, Event_Close, Event_Logoff, Event_Logon, Event_MiniCert_Validate, Event_Queue, Event_QueueManager, Event_UserBase, JMS_Version, MQ_Headers, MQe_Log_Audit_Failure, MQe_Log_Audit_Success, MQe_Log_Error, MQe_Log_Information, MQe_Log_Success, MQe_Log_Warning, Msg_BackoutCount, Msg_CorrelID, Msg_ExpireTime, Msg_LockID, Msg_MsgID, Msg_OriginQMgr, Msg_Priority, Msg_ReplyToQ, Msg_ReplyToQMgr, Msg_Resend, Msg_Style, Msg_Style_Datagram, Msg_Style_Reply, Msg_Style_Request, Msg_Time, Msg_WrapMsg, sccsid, System_Default_Queue_Name
 
Fields inherited from interface com.ibm.mqe.MQeExceptionCodes
Except_Active, Except_AdapterException, Except_AdapterMissingRemoteAddress, Except_Admin_ActionNotSupported, Except_Admin_InvalidField, Except_Admin_NotAdminMsg, Except_AdminAction, Except_Authenticate, Except_BadRequest, Except_BridgeListener, Except_Chnl_Attributes, Except_Chnl_ID, Except_Chnl_Limit, Except_Chnl_Overrun, Except_Closed, Except_Con_AdapterRequired, Except_Con_AliasAlreadyExists, Except_Con_AlreadyExists, Except_Con_InvalidName, Except_Connect_Failure, Except_ConnectonType, Except_Cryptor, Except_Data, Except_Duplicate, Except_JmxProperties, Except_Listener, Except_MessageStore, Except_MiniCertReg_ActivateFailed, Except_MiniCertReg_BadPIN, Except_MiniCertReg_NotOpen, Except_NotActive, Except_NotAllowed, Except_NotFound, Except_NotSupported, Except_PrivateReg_ActivateFailed, Except_PrivateReg_BadPIN, Except_PrivateReg_NotOpen, Except_PublicReg_ActivateFailed, Except_PublicReg_InvalidAddress, Except_PublicReg_InvalidRequest, Except_Q_Full, Except_Q_InvalidName, Except_Q_InvalidPriority, Except_Q_MsgTooLarge, Except_Q_NoMatchingMsg, Except_Q_TargetRegistryRequired, Except_QMgr_Activated, Except_QMgr_AlreadyExists, Except_QMgr_InvalidQMgrName, Except_QMgr_InvalidQName, Except_QMgr_NotActive, Except_QMgr_NotBridgeEnabled, Except_QMgr_NotConfigured, Except_QMgr_QDoesNotExist, Except_QMgr_QExists, Except_QMgr_QNotEmpty, Except_QMgr_RegistryDataVersion, Except_QMgr_UnknownQMgr, Except_QMgr_WrongQType, Except_Reg_AddFailed, Except_Reg_AlreadyExists, Except_Reg_AlreadyOpen, Except_Reg_CRTKeyDecFailed, Except_Reg_CRTKeySignFailed, Except_Reg_DeleteFailed, Except_Reg_DeleteRegistryFailed, Except_Reg_DoesNotExist, Except_Reg_InvalidSession, Except_Reg_ListFailed, Except_Reg_NotDefined, Except_Reg_NotSecure, Except_Reg_NullName, Except_Reg_OpenFailed, Except_Reg_ReadFailed, Except_Reg_RenameFailed, Except_Reg_ResetPINFailed, Except_Reg_SearchFailed, Except_Reg_UpdateFailed, Except_RemoteException, Except_Rule, Except_S_BadIntegrity, Except_S_BadSubject, Except_S_CertificateExpired, Except_S_Cipher, Except_S_InvalidAttribute, Except_S_InvalidSignature, Except_S_MiniCertNotAvailable, Except_S_MissingSection, Except_S_NoPresetKeyAvailable, Except_S_RegistryNotAvailable, Except_Stopped, Except_Syntax, Except_TimeOut, Except_Transporter, Except_TriggerTransmission, Except_Trnsport_QMgr, Except_Trnsport_Request, Except_Type, Except_UdpipAdapterStateException, Except_UdpipAdapterTimeOut, Except_UdpipAdapterUnableToConfirmSuccess, Except_UnCoded, Except_Uncontactable_DontTransmit
 
Constructor Summary
MQeQueueManagerUtils()
           
 
Method Summary
static MQeFields loadConfigFile(java.lang.String fileName)
          Reads the .ini file described by the supplied string and converts the data into an MQeFields object.
static void processAlias(MQeFields sections)
          Process the class alias names in the configuration data.
static void processListenerSections(MQeFields sections, MQeQueueManager queueManager)
          Process the section of the configuration data that relate to the listeners.
static java.util.Hashtable processPreLoad(MQeFields sections)
          Process the pre-load classes configuration data.
static MQeQueueManager processQueueManager(MQeFields sections)
          Process the QueueManager section in the configuration data.
static MQeQueueManager processQueueManager(MQeFields sections, java.util.Hashtable ght)
          Process the QueueManager section in the configuration data.
static void processSystemProperties(MQeFields sections)
          Process the [SystemProperties] section of the configuration data.
static void saveConfigFile(java.lang.String pathname, MQeFields fields)
          Save the configuration (ini) data to disk (without comments).
static void sectionProcessed(java.lang.String sectionName)
          Called when the initialisation routine has successfully processed a section.
static void traceOff()
          Turn trace off.
static void traceOn()
          Start trace with default title.
 
Methods inherited from class com.ibm.mqe.MQe
abbreviate, alias, asciiToByte, byteToAscii, byteToHex, byteToHex, byteToInt, byteToLong, byteToShort, byteToUnicode, fileSeparator, getEventLogHandler, hexToAscii, hexToByte, intToByte, isCLDC, loadClass, loadObject, log, setEventLogHandler, setLoader, sliceByteArray, type, unicodeToByte, uniqueValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

version

public static short[] version

Section_Alias

public static final java.lang.String Section_Alias
See Also:
Constant Field Values

Section_ChannelManager

public static final java.lang.String Section_ChannelManager
See Also:
Constant Field Values

Section_Listener

public static final java.lang.String Section_Listener
See Also:
Constant Field Values

Section_PreLoad

public static final java.lang.String Section_PreLoad
See Also:
Constant Field Values

Section_QueueManager

public static final java.lang.String Section_QueueManager
See Also:
Constant Field Values

Section_MQBridge

public static final java.lang.String Section_MQBridge
See Also:
Constant Field Values

SECTION_NAME_SYSTEM_PROPERTIES

public static final java.lang.String SECTION_NAME_SYSTEM_PROPERTIES
See Also:
Constant Field Values
Constructor Detail

MQeQueueManagerUtils

public MQeQueueManagerUtils()
Method Detail

loadConfigFile

public static MQeFields loadConfigFile(java.lang.String fileName)
                                throws java.lang.Exception
Reads the .ini file described by the supplied string and converts the data into an MQeFields object. The MQeFields object returned contains a number of embedded MQeFields objects, one for each section of the ini file. Each embedded object contains a list of key/value string pairs which correspond to each item in the section.

Returns:
MQeFields, the converted MQeFields object.
Throws:
java.lang.Exception

processAlias

public static void processAlias(MQeFields sections)
                         throws java.lang.Exception
Process the class alias names in the configuration data.

This maps one class name to another, or a nickname to a class name :

  [Alias]
      (ascii)EventLog=.....        class to use to write event logs
      (ascii)Network=.....         Adapter class for network support
      (ascii)QueueManager=.....    class to use for Queue manager
      (ascii)Registry=.....        class to use for Registry functions
      (ascii)Trace=.....           class to provide trace functions
 

Parameters:
sections - MQeFields object
Returns:
void
Throws:
java.lang.Exception

processPreLoad

public static java.util.Hashtable processPreLoad(MQeFields sections)
                                          throws java.lang.Exception

Process the pre-load classes configuration data.

Pre-load a class for any programs that run concurrently with the server.

  [PreLoad]      { Optional } pre-load classes
      (ascii)nnn=.....             keyword (unique)=class name to load
      (ascii)nnn=.....             keyword (unique)=class name to load
      .....
 

Parameters:
sections - MQeFields object
Returns:
void
Throws:
java.lang.Exception

processSystemProperties

public static void processSystemProperties(MQeFields sections)
                                    throws java.lang.Exception
Process the [SystemProperties] section of the configuration data.

Extract each property in turn, and put them into the Java system property. Values already in the java system properties, like those specified by the -Dname=value mechanism on the command-line are over-written with the values within this section.

java.lang.Exception

processQueueManager

public static MQeQueueManager processQueueManager(MQeFields sections,
                                                  java.util.Hashtable ght)
                                           throws java.lang.Exception

Process the QueueManager section in the configuration data.

  [QueueManager]   parameters for the Queue Manager
      (ascii)Name=.....            Qmanager name
      (ascii)Path=.....            Qmanager ini file
 

Processing the Queue Manager also processes the Registry, AppRunList and CloseAppRunList sections.

Parameters:
sections - MQeFields object
ght - HashTable.
Returns:
MQeQueueManager object.
Throws:
java.lang.Exception

saveConfigFile

public static void saveConfigFile(java.lang.String pathname,
                                  MQeFields fields)
                           throws java.lang.Exception
Save the configuration (ini) data to disk (without comments).

Parameters:
pathname - String containing the filename to save as
fields - MQefields object to write.
Returns:
void
Throws:
java.lang.Exception

traceOff

public static void traceOff()
Turn trace off.

Returns:
void

traceOn

public static void traceOn()
Start trace with default title.

Returns:
void

sectionProcessed

public static void sectionProcessed(java.lang.String sectionName)
Called when the initialisation routine has successfully processed a section. This method removes the section entry from the sectionsnotProcessed vector.

Parameters:
sectionName - A String containing the section name
Returns:
void

processListenerSections

public static void processListenerSections(MQeFields sections,
                                           MQeQueueManager queueManager)
                                    throws java.lang.Exception

Process the section of the configuration data that relate to the listeners. This code uses the old format for the ini file, but uses the new listener management code.

 This method replaces MQeQueueManagerUtils.processListener() and
 MQeQueueManagerUtils.processChannelManager() both of which use
 code that is now deprecated.
 This method should be called after the queue manager has been
 created and activated.  The listener(s) created using the new
 API will be stopped and cleaned up when the queue manager is closed.

 The listener only needs to be created once. Once created, the queue
 manager will automatically start the listener when it starts.

 Two sections from the ini file are processed:
 [ChannelManager]     Parameters for the channel manager
      (int)MaxChannels=.....       max number of concurrent channels

 [Listener]
      (ascii)Listen=.....          Listener file descriptor
      (ascii)Network=.....         Read/Write file descriptor
 

Parameters:
sections - An MQeFields object representing the data from an ini file
queueManager - An MQeQueueManager object
Returns:
void
Throws:
java.lang.Exception

processQueueManager

public static MQeQueueManager processQueueManager(MQeFields sections)
                                           throws java.lang.Exception

Process the QueueManager section in the configuration data.

  [QueueManager]   parameters for the Queue Manager
      (ascii)Name=.....            Qmanager name
      (ascii)Path=.....            Qmanager ini file
 

Processing the Queue Manager also processes the Registry, AppRunList and CloseAppRunList sections.

Parameters:
sections - An MQeFields object
Returns:
void
Throws:
java.lang.Exception

Websphere MQ Everyplace