com.ibm.mq
類別 MQQueue
- java.lang.Object
- com.ibm.mq.jmqi.JmqiObject
- com.ibm.mq.MQManagedObject
- com.ibm.mq.MQDestination
- com.ibm.mq.MQQueue
public class MQQueue 延伸 MQDestination
MQQueue 提供 IBM MQ 佇列的查詢、設定、放置及取得作業。 查詢和設定功能繼承自
MQManagedObject.使用
MQQueueManager.accessQueue(),以取得 MQQueue 物件的存取權。
-
欄位摘要
-
繼承自類別 com.ibm.mq.MQManagedObject 的欄位
alternateUserId, closeOptions, connectionReference, isOpen, name, openOptions
-
-
建構子摘要
建構子 建構子和說明 MQQueue(MQQueueManager qMgr, java.lang.String queueName, int openOptions, java.lang.String queueManagerName, java.lang.String dynamicQueueName, java.lang.String alternateUserId)容許使用者建立 MQQueue 子類別的公開建構子。
-
方法摘要
所有方法 實例方法 具體方法 修飾元和類型 方法和說明 voidclose()關閉物件。intgetCurrentDepth()取得目前在佇列上的訊息數。intgetDefinitionType()指出如何定義佇列。intgetInhibitGet()指出此佇列是否容許取得作業。intgetInhibitPut()指出此佇列是否容許放置作業。intgetMaximumDepth()取得任何一次可以存在於佇列上的訊息數上限。intgetMaximumMessageLength()取得此佇列上訊息的應用程式資料長度上限。intgetOpenInputCount()取得從佇列中移除訊息的目前有效控點數目。intgetOpenOutputCount()取得將訊息新增至佇列的目前有效控點數目。intgetQueueType()取得此佇列的類型。intgetShareability()指出是否可以多次開啟佇列以供輸入。intgetTriggerControl()指出是否將觸發訊息寫入起始佇列。java.lang.StringgetTriggerData()取得寫入起始佇列之觸發訊息的資料。intgetTriggerDepth()取得必須在佇列上才能產生觸發訊息的訊息數。intgetTriggerMessagePriority()取得訊息優先順序,低於此優先順序的訊息不會導致觸發訊息。intgetTriggerType()指出寫入觸發訊息的條件。voidputForwardMessage(MQMessage message)使用預設放置訊息選項及訊息作為原始訊息,將正在轉遞的訊息放置到佇列voidputForwardMessage(MQMessage message, MQPutMessageOptions putMessageOptions)使用訊息作為原始訊息,將正在轉遞的訊息放入佇列voidputReplyMessage(MQMessage message)使用預設放置訊息選項及訊息作為原始訊息,將回覆訊息放入佇列voidputReplyMessage(MQMessage message, MQPutMessageOptions putMessageOptions)使用訊息作為原始訊息,將回覆訊息放入佇列voidputReportMessage(MQMessage message)使用預設放置訊息選項及訊息作為原始訊息,將報告訊息放入佇列voidputReportMessage(MQMessage message, MQPutMessageOptions putMessageOptions)使用訊息作為原始訊息,將報告訊息放入佇列voidsetInhibitGet(int inhibit)控制此佇列是否容許取得作業。voidsetInhibitPut(int inhibit)控制此佇列是否容許放置作業。voidsetTriggerControl(int trigger)控制是否將觸發訊息寫入起始佇列。voidsetTriggerData(java.lang.String data)設定寫入起始佇列之觸發訊息的資料。voidsetTriggerDepth(int depth)設定必須在佇列上才能產生觸發訊息的訊息數。voidsetTriggerMessagePriority(int priority)設定訊息優先順序,低於此優先順序的訊息不會導致觸發訊息。voidsetTriggerType(int type)設定寫入觸發訊息的條件。-
繼承自類別 com.ibm.mq.MQDestination 的方法
get, get, get, getCreationDateTime, getDestinationType, getQueueManagerCmdLevel, put, put, setQueueManagerCmdLevel
-
-
-
建構子詳細資料
MQQUEUE
public MQQueue (MQQueueManager qMgr , java.lang.String queueName , int openOptions , java.lang.String queueManagerName , java.lang.String dynamicQueueName , java.lang.String alternateUserId) throws MQException
容許使用者建立 MQQueue 子類別的公開建構子。- 參數:
qMgr-代表佇列所在佇列管理程式的物件。queueName-要開啟的佇列名稱。openOptions-控制佇列開啟的選項。 有效選項是:CMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQOO_BIND_AS_Q_DEFCMQC.MQOO_BIND_NOT_FIXEDCMQC.MQOO_BIND_ON_OPENCMQC.MQOO_BROWSECMQC.MQOO_FAIL_IF_QUIESCINGCMQC.MQOO_INPUT_AS_Q_DEFCMQC.MQOO_INPUT_SHAREDCMQC.MQOO_INPUT_EXCLUSIVECMQC.MQOO_INQUIRECMQC.MQOO_OUTPUTCMQC.MQOO_PASS_ALL_CONTEXTCMQC.MQOO_PASS_IDENTITY_CONTEXTCMQC.MQOO_SAVE_ALL_CONTEXTCMQC.MQOO_SETCMQC.MQOO_SET_ALL_CONTEXTCMQC.MQOO_SET_IDENTITY_CONTEXTCMQC.MQOO_RESOLVE_LOCAL_Q
如果需要多個選項,則可以使用 '+' 或 '|' 運算子來結合值。
queueManagerName-定義佇列所在的佇列管理程式名稱。 如果它是空白或空值,則會使用此 MQQueueManager 物件所連接的佇列管理程式。dynamicQueueName-指定要建立的動態佇列名稱。 除非 queueName 指定模型佇列的名稱,否則會忽略它,在此情況下,它不能是空白或空值。 如果名稱中最後一個非空白字元是星號 (*) ,則佇列管理程式會將星號取代為字串,以保證為佇列產生的名稱在此佇列管理程式上是唯一的。alternateUserId-在下列情況下,用來檢查開啟之授權的替代使用者 ID:CMQC.MQOO_ALTERNATE_USER_AUTHORITY在 openOptions 中指定。- 擲出:
MQException-如果無法開啟佇列。
-
方法詳細資料
putForwardMessage
public void putForwardMessage (MQMessage message) throws MQException, java.io.IOException
使用預設放置訊息選項及訊息作為原始訊息,將正在轉遞的訊息放置到佇列- 參數:
message-待轉遞- 擲出:
MQException-如果 MQI 呼叫失敗java.io.IOException-如果有 IO 錯誤
putForwardMessage
public void putForwardMessage (MQMessage message , MQPutMessageOptions putMessageOptions) throws MQException, java.io.IOException
使用訊息作為原始訊息,將正在轉遞的訊息放入佇列- 參數:
message-待轉遞putMessageOptions-適用於 MQPUT- 擲出:
MQException-如果 MQI 呼叫失敗java.io.IOException-如果有 IO 錯誤
putReplyMessage
public void putReplyMessage (MQMessage message) throws MQException, java.io.IOException
使用預設放置訊息選項及訊息作為原始訊息,將回覆訊息放入佇列- 參數:
message-原始訊息- 擲出:
MQException-如果 MQ 呼叫失敗java.io.IOException-如果有 IO 錯誤
putReplyMessage
public void putReplyMessage (MQMessage message , MQPutMessageOptions putMessageOptions) throws MQException, java.io.IOException
使用訊息作為原始訊息,將回覆訊息放入佇列- 參數:
message-原始訊息putMessageOptions-適用於 MQPUT。- 擲出:
MQException-如果 MQ 呼叫失敗java.io.IOException-如果有 IO 錯誤
putReportMessage
public void putReportMessage (MQMessage message) throws MQException, java.io.IOException
使用預設放置訊息選項及訊息作為原始訊息,將報告訊息放入佇列- 參數:
message-原始訊息- 擲出:
MQException-如果 MQ 呼叫失敗java.io.IOException-如果有 IO 錯誤
putReportMessage
public void putReportMessage (MQMessage message , MQPutMessageOptions putMessageOptions) throws MQException, java.io.IOException
使用訊息作為原始訊息,將報告訊息放入佇列- 參數:
message--原始訊息putMessageOptions-適用於 MQPUT- 擲出:
MQException-如果 MQ 呼叫失敗java.io.IOException-如果有 IO 錯誤
關閉
public void close () throws MQException關閉物件。 關閉此物件之後,不允許對此物件執行進一步作業。 可以透過設定 closeOptions 來變更 close 方法的行為。- 置換:
close在類別中MQManagedObject- 擲出:
MQException-如果 IBM MQ 呼叫失敗。
getQueueType
public int getQueueType () throws MQException取得此佇列的類型。- 退貨:
- 下列其中一項:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getCurrentDepth
public int getCurrentDepth () throws MQException取得目前在佇列上的訊息數。 在 put 呼叫期間及取消 get 呼叫期間,此值會增加。 在非瀏覽取得期間及取消 put 呼叫期間,它會減少。- 退貨:
- 訊息數。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getDefinitionType
public int getDefinitionType () throws MQException指出如何定義佇列。- 退貨:
- 下列其中一項:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getMaximumDepth
public int getMaximumDepth () throws MQException取得任何一次可以存在於佇列上的訊息數上限。 嘗試將訊息放入已包含這許多訊息的佇列失敗,原因碼為 MQConstants.MQRC_Q_FULL。- 退貨:
- 訊息數目上限。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getMaximumMessageLength
public int getMaximumMessageLength () throws MQException取得此佇列上訊息的應用程式資料長度上限。 嘗試放置大於此值的訊息失敗,原因碼為 MQConstants.MQRC_MSG_TOO_BIG_FOR_Q。- 退貨:
- 長度上限。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getOpenInputCount
public int getOpenInputCount () throws MQException取得從佇列中移除訊息的目前有效控點數目。- 退貨:
- 本端佇列管理程式已知的有效控點總數,不只是 IBM MQ Client for Java (使用 accessQueue ()) 所建立的有效控點。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getOpenOutputCount
public int getOpenOutputCount () throws MQException取得將訊息新增至佇列的目前有效控點數目。- 退貨:
- 本端佇列管理程式已知的有效控點總數,不只是 IBM MQ Client for Java (使用 accessQueue ()) 所建立的有效控點。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getShareability
public int getShareability () throws MQException指出是否可以多次開啟佇列以供輸入。- 退貨:
- 下列其中一項:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getInhibitPut
public int getInhibitPut () throws MQException指出此佇列是否容許放置作業。- 退貨:
- 下列其中一項:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setInhibitPut
public void setInhibitPut (int inhibit) throws MQException控制此佇列是否容許放置作業。- 參數:
inhibit-允許的值為:- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getInhibitGet
public int getInhibitGet () throws MQException指出此佇列是否容許取得作業。- 退貨:
- 下列其中一項:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setInhibitGet
public void setInhibitGet (int inhibit) throws MQException控制此佇列是否容許取得作業。- 參數:
inhibit-允許的值為:- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getTriggerControl
public int getTriggerControl () throws MQException指出是否將觸發訊息寫入起始佇列。 這會啟動應用程式來處理佇列。- 退貨:
- 可能的值為:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setTriggerControl
public void setTriggerControl (int trigger) throws MQException控制是否將觸發訊息寫入起始佇列。 這會啟動應用程式來處理佇列。- 參數:
trigger-允許的值為:- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getTriggerData
public java.lang.String getTriggerData () throws MQException取得寫入起始佇列之觸發訊息的資料。 當訊息到達此起始佇列時,會將觸發訊息寫入此起始佇列。- 退貨:
- 可用格式的資料。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setTriggerData
public void setTriggerData (java.lang.String data) throws MQException設定寫入起始佇列之觸發訊息的資料。 當訊息到達此起始佇列時,會將觸發訊息寫入此起始佇列。- 參數:
data-以任意格式設定資料。 字串允許的長度上限是由 提供CMQC.MQ_TRIGGER_DATA_LENGTH.- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getTriggerDepth
public int getTriggerDepth () throws MQException取得必須在佇列上才能產生觸發訊息的訊息數。 當觸發類型為 時適用CMQC.MQTT_DEPTH.- 退貨:
- 訊息數。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setTriggerDepth
public void setTriggerDepth (int depth) throws MQException設定必須在佇列上才能產生觸發訊息的訊息數。 當觸發類型為 時適用CMQC.MQTT_DEPTH.- 參數:
depth-訊息數目。- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getTriggerMessagePriority
public int getTriggerMessagePriority () throws MQException取得訊息優先順序,低於此優先順序的訊息不會導致觸發訊息。 也就是說,在決定是否產生觸發程式時,佇列管理程式會忽略這些訊息。- 退貨:
- 訊息優先順序。 0 表示所有訊息都有助於產生觸發訊息。
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setTriggerMessagePriority
public void setTriggerMessagePriority (int priority) throws MQException設定訊息優先順序,低於此優先順序的訊息不會導致觸發訊息。 也就是說,在決定是否產生觸發程式時,佇列管理程式會忽略這些訊息。- 參數:
priority-訊息優先順序。 0 表示所有訊息都有助於產生觸發訊息。- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
getTriggerType
public int getTriggerType () throws MQException指出寫入觸發訊息的條件。 由於訊息到達此佇列,因此會寫入觸發訊息。- 退貨:
- 可能的值為:
- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
setTriggerType
public void setTriggerType (int type) throws MQException設定寫入觸發訊息的條件。 由於訊息到達此佇列,因此會寫入觸發訊息。- 參數:
type-可能的值如下:- 擲出:
MQException-如果您在關閉佇列之後呼叫此方法,以指出無法再存取該佇列。
-