Websphere MQ Everyplace

com.ibm.mqe.administration
Class MQeRemoteQueueAdminMsg

java.lang.Object
  |
  +--com.ibm.mqe.MQe
        |
        +--com.ibm.mqe.MQeFields
              |
              +--com.ibm.mqe.MQeMsgObject
                    |
                    +--com.ibm.mqe.MQeAdminMsg
                          |
                          +--com.ibm.mqe.administration.MQeQueueAdminMsg
                                |
                                +--com.ibm.mqe.administration.MQeRemoteQueueAdminMsg
All Implemented Interfaces:
MQeExceptionCodes
Direct Known Subclasses:
MQeHomeServerQueueAdminMsg, MQeMQBridgeQueueAdminMsg, MQeStoreAndForwardQueueAdminMsg

public class MQeRemoteQueueAdminMsg
extends MQeQueueAdminMsg

This class is used to manage Websphere MQ Everyplace remote queues queues.

The class extends MQeQueueAdminMsg which provides most of the administration capability for queues. This class adds additional actions and features for managing remote queues.

Remote queues are references to queues that reside on a queue manager that is remote to where the remote queue is defined. The remote queue has the same name as the target queue but the remote queue definition identifies the owning or target queue manager of the real queue.

A remote queue can act in one of type modes:

Synchronous
Synchronous remote queues are queues that can only be accessed when connected to a network that has a communications path to the owning queue manager (or next hop). If the network is not established then the operations such as put,get, and browse cause an exception to be raised. The owning queue controls the access permissions and security requirements needed to access the queue. It is the application’s responsibility to handle any errors or retries when sending or receiving messages as, in this case, WebSphere MQ Everyplace is no longer responsible for once-only assured delivery.
Asynchronous
Asynchronous remote queues are queues that move messages to remote queues but cannot remotely retrieve messages. When message are put toe the remote queue, the messages are stored temporarily stored locally. When there is network connectivity, transmission has been triggered and rules allow, an attempt is made to moved the messages to the target queue. Message delivery will be once-only assured delivery. This allows applications to operate on the queue when the device is off-line. Consequently asynchronous queues require a message store in order that messages can be temporarily stored at the sending queue manager whilst awaiting transmission.

Many of the basic characteristics of a remote queue like the authenticator, cryptor and compressor should match those of the target queue. If there is a mismatch, the request from the remote queue to the target queue can be rejected, for instance, if security is compromised. Other characteristics like max queue depth and rules may vary to allow better control of the number of messages allowed on the remote queue and when they are transmitted.

For information on basic administration concepts see MQeAdminMsg and for basic information on managing queues see MQeQueueAdminMsg.

Properties of the Remote Queue resource (in addition to those inherited from MQeAdminMsg)
Field name Actions using these fields
MQeQueueAdminMsg.Queue_QMgrName Required in all admin actions to identify which queue object to act on
MQeQueueAdminMsg.Queue_Active MQeAdminMsg.Action_Inquire.
MQeQueueAdminMsg.Queue_Description MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_FileDesc MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create (asynchronous queues only).
MQeQueueAdminMsg.Queue_Cryptor MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_Authenticator MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_Compressor MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_TargetRegistry MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_AttrRule MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_Rule MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_MaxMsgSize MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.
MQeQueueAdminMsg.Queue_Priority MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update (asynchronous queues only).
MQeQueueAdminMsg.Queue_Expiry MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update (asynchronous queues only).
MQeQueueAdminMsg.Queue_MaxQSize MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update (asynchronous queues only).
MQeQueueAdminMsg.Queue_CurrentSize MQeAdminMsg.Action_Inquire (asynchronous queues only).
MQeQueueAdminMsg.Queue_CreationDate MQeAdminMsg.Action_Inquire.
MQeQueueAdminMsg.Queue_Mode MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create.
Queue_Transporter MQeAdminMsg.Action_Inquire, MQeAdminMsg.Action_Create, MQeAdminMsg.Action_Update.


Field Summary
static java.lang.String Queue_CloseIdle
          String used to identify the field in the message which determines if the queue should be closed when idle.
static java.lang.String Queue_DefaultTransporter
           
static java.lang.String Queue_Transporter
          String used to identify the field in the message representing the type of transporter.
static java.lang.String Queue_TransporterXOR
          String used to identify the field in the message which determines if the transporter should use XOR compression.
 
Fields inherited from class com.ibm.mqe.administration.MQeQueueAdminMsg
Queue_Active, Queue_Asynchronous, Queue_AttrRule, Queue_Authenticator, Queue_Compressor, Queue_CreationDate, Queue_Cryptor, Queue_CurrentSize, Queue_Description, Queue_Expiry, Queue_FileDesc, Queue_MaxMsgSize, Queue_MaxQSize, Queue_Mode, Queue_NoLimit, Queue_Priority, Queue_QAliasNameList, Queue_QMgrName, Queue_RegistryNone, Queue_RegistryQMgr, Queue_RegistryQueue, Queue_Rule, Queue_Synchronous, Queue_TargetRegistry
 
Fields inherited from class com.ibm.mqe.MQeAdminMsg
Action_AddAlias, Action_Create, Action_Delete, Action_Inquire, Action_InquireAll, Action_RemoveAlias, Action_Start, Action_Stop, Action_Unknown, Action_Update, Admin_Action, Admin_Class, Admin_Errors, Admin_MaxAttempts, Admin_Name, Admin_Parms, Admin_RC, Admin_Reason, Admin_TargetQMgr, RC_Fail, RC_Mixed, RC_Success
 
Fields inherited from class com.ibm.mqe.MQeFields
ArraySeparator, TypeArrayElements, TypeAscii, TypeBoolean, TypeByte, TypeDouble, TypeFields, TypeFloat, TypeInt, TypeLong, TypeShort, TypeUnicode, TypeUnTyped
 
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, version
 
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
MQeRemoteQueueAdminMsg()
          Default constructor.
MQeRemoteQueueAdminMsg(java.lang.String qMgrName, java.lang.String qName)
          This constructor takes the name of the queue that is to be managed and puts it into the admin msg.
 
Methods inherited from class com.ibm.mqe.administration.MQeQueueAdminMsg
addAlias, changeAlias, removeAlias, setName
 
Methods inherited from class com.ibm.mqe.MQeAdminMsg
characteristics, create, delete, duplicate, getAction, getErrorFields, getFieldInError, getInputFields, getMaxAttempts, getName, getOutputFields, getRC, getReason, getTargetQMgr, inquire, inquireAll, setAction, setMaxAttempts, setName, setTargetQMgr, update
 
Methods inherited from class com.ibm.mqe.MQeMsgObject
getMsgUIDFields, getOriginQMgr, getTimeStamp, putOriginQMgr, resetMsgUIDFields, unwrapMsgObject
 
Methods inherited from class com.ibm.mqe.MQeFields
contains, copy, copy, dataType, deepCopy, delete, dump, dumpedType, dumpToString, equals, fields, getArrayLength, getArrayOfByte, getArrayOfDoubleAsLong, getArrayOfFloatAsInt, getArrayOfInt, getArrayOfLong, getArrayOfShort, getAscii, getAsciiArray, getAttribute, getBoolean, getByte, getDoubleAsLong, getFields, getFieldsArray, getFloatAsInt, getInt, getIntArray, getLong, getLongArray, getObject, getShort, getShortArray, getUnicode, getUnicodeArray, includes, isEqualTo, putArrayLength, putArrayOfByte, putArrayOfDoubleAsLong, putArrayOfFloatAsInt, putArrayOfInt, putArrayOfLong, putArrayOfShort, putAscii, putAsciiArray, putBoolean, putByte, putByteArray, putDoubleAsLong, putFields, putFieldsArray, putFloatAsInt, putInt, putIntArray, putLong, putLongArray, putObject, putShort, putShortArray, putUnicode, putUnicodeArray, rename, restore, restoreFromString, restoreFromString, restoreFromString, setAttribute, updateValue
 
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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Queue_Transporter

public static final java.lang.String Queue_Transporter
String used to identify the field in the message representing the type of transporter.

When moving messages to the next hop or target queue, the remote queue uses a transporter. By default the transporter is set to Queue_DefaultTransporter, the transporter class or alias can be changed using this field.

The field is of type ascii.

See Also:
Queue_DefaultTransporter, Constant Field Values

Queue_DefaultTransporter

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

Queue_TransporterXOR

public static final java.lang.String Queue_TransporterXOR
String used to identify the field in the message which determines if the transporter should use XOR compression.

If set to true when messages are moved across a network each field in a message is XORed with a field of the same name (if it exists) in the previous message that the transporter moved. This allows a compressor to do a better job of compressing the message. The default is true.

The field is of type boolean.

See Also:
Queue_Transporter, Constant Field Values

Queue_CloseIdle

public static final java.lang.String Queue_CloseIdle
String used to identify the field in the message which determines if the queue should be closed when idle.

For a remote asynchronous queue, the transporter will be closed once all messages have been transmitted.

The field is of type boolean.

See Also:
Constant Field Values
Constructor Detail

MQeRemoteQueueAdminMsg

public MQeRemoteQueueAdminMsg()
                       throws java.lang.Exception
Default constructor.


MQeRemoteQueueAdminMsg

public MQeRemoteQueueAdminMsg(java.lang.String qMgrName,
                              java.lang.String qName)
                       throws java.lang.Exception
This constructor takes the name of the queue that is to be managed and puts it into the admin msg.

This constructor uses the MQeQueueAdminMsg.setName(String,String) method to put the name into the administratoin message parameters field

Parameters:
qMgrName - name of the target queue manager
qName - name of the Queue
Throws:
java.lang.Exception
See Also:
MQeQueueAdminMsg.setName(String, String)

Websphere MQ Everyplace