Websphere MQ Everyplace

examples.mqbridge.rules
Class MQeStartupRule

java.lang.Object
  |
  +--com.ibm.mqe.MQe
        |
        +--com.ibm.mqe.MQeRule
              |
              +--examples.mqbridge.rules.MQeStartupRule
All Implemented Interfaces:
MQeExceptionCodes

public class MQeStartupRule
extends MQeRule

To be a model rules class.

This rule class is specified on an mqbridge administered object's registry entry.

When the administered object is loaded, this rule class is consulted to see whether the administered object should be started, or left in the stopped state, or whether the administered object's children should be started or not.


Field Summary
static int START_NOTHING
          A possible value returned from the permit() method.
static int START_PARENTS_AND_ME
          A possible value returned from the permit() method.
static int START_PARENTS_AND_ME_AND_CHILDREN
          A possible value returned from the permit() method.
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
MQeStartupRule()
           
 
Method Summary
 java.lang.Object permit(java.lang.Object administeredObjectNameO, java.lang.Object administeredObjectTypeO, java.lang.Object registryO)
          Query whether an administered object should be started just after it has been loaded.
protected  java.lang.Integer permit(java.lang.String administeredObjectName, java.lang.String administeredObjectType, MQeRegistry registry)
          The same as the permit() method call, but the parameters are strongly typed.
 
Methods inherited from class com.ibm.mqe.MQeRule
activate, close, newRule
 
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

START_NOTHING

public static final int START_NOTHING
A possible value returned from the permit() method. Says "leave this administered object in its current state"

See Also:
Constant Field Values

START_PARENTS_AND_ME

public static final int START_PARENTS_AND_ME
A possible value returned from the permit() method. Says "start all my parents, and my parent's parents, then start me.

See Also:
Constant Field Values

START_PARENTS_AND_ME_AND_CHILDREN

public static final int START_PARENTS_AND_ME_AND_CHILDREN
A possible value returned from the permit() method. Says "start all my parents, and my parent's parents, then start me, then start each of my children in turn.

See Also:
Constant Field Values
Constructor Detail

MQeStartupRule

public MQeStartupRule()
Method Detail

permit

public java.lang.Object permit(java.lang.Object administeredObjectNameO,
                               java.lang.Object administeredObjectTypeO,
                               java.lang.Object registryO)
                        throws java.lang.Exception
Query whether an administered object should be started just after it has been loaded.

The specified administered object has just been loaded into the mqbridge system. The bridge wants to find out whether this administered object needs to be moved into the "running" state, or left in the "stopped" state.

If this rule decides that this administered object should be started, then the mqbridge will make sure that all the parents of this administered object are also started.

If this rule decides that this administered object should be started, then it must also decide whether the children of this administered object should also be started.

Parameters:
administeredObjectNameO - A String which has been cast to an Object type. It holds the fully-qualified name of the entry in the registry which identifies the administered object to be started up. You can use it to look up values for this administered object in the registry, to decide whether this administered object should be started or otherwise.
administeredObjectTypeO - A String which has been cast to an Object type. It holds the "sort" of administered object which has just been loaded. This can also be used to uniquely identify an entry in the registry, whose values can be queried to decide whether this object should be started or not.
registryO - An MQeRegistry which has been cast to an Object type. It refers to an open, ready-to-use MQeRegistry type which can be used to look-up the passed administered object, so it's registry values can be queried. This can be used to help decide whether this administered object should be started or not.
Returns:
an Integer object. This value holds one of the START_* constant values defined by this class.

Valid return values are:

  • START_NOTHING

    Says "leave this administered object in it's current state"

  • START_PARENTS_AND_ME

    Says "start all my parents, and my parents' parents, then start me.

  • START_PARENTS_AND_ME_AND_CHILDREN

    Says "start all my parents, and my parents' parents, then start me, then start each of my children in turn.

If any other value is returned, or a non-Integer is returned or the class cannot be loaded for some reason, or it throws an exception, then this has the same effect as returning the START_NOTHING constant value.

Throws:
java.lang.Exception - Fails with an exception if something goes wrong when deciding on the return value, or if the parameters are the wrong type. An exception will have the same effect as returning the START_NOTHING value.

permit

protected java.lang.Integer permit(java.lang.String administeredObjectName,
                                   java.lang.String administeredObjectType,
                                   MQeRegistry registry)
The same as the permit() method call, but the parameters are strongly typed.

Although this rule class could use information contained in the registry to decide whether to start or otherwise the named administered object, this model class just returns the START_PARENTS_AND_ME value. This is a sensible default.


Websphere MQ Everyplace