類別 MQEnvironment
- java.lang.Object
- com.ibm.mq.jmqi.JmqiObject
- com.ibm.mq.MQEnvironment
public class MQEnvironment extends com.ibm.mq.jmqi.JmqiObjectMQEnvironment 包含靜態欄位,可控制在其中建構 MQQueueManager 物件 (及其與 IBM MQ的對應連線) 的環境。 當呼叫 MQQueueManager 建構子時, MQEnvironment 類別中所設定的值會生效,在建構 MQQueueManager 物件之前,您必須先設定 MQEnvironment 類別中的值。附註: 這個類別的所有方法和屬性都適用於 Java 用戶端連線的 IBM MQ 類別,但只有 enableTracing ()、disableTracing ()、properties、version_notice、userID、connOptions 和 connTag 適用於連結連線。
-
欄位摘要
欄位 修飾元和類型 欄位和說明 static java.net.URLccdtUrlProperty指定用戶端通道定義表 (CCDT) 位置以定義連線內容的 URL。static intCCSID用戶端使用的 CCSID。static java.lang.Stringchannel目標佇列管理程式上要連接的通道名稱。static java.lang.ObjectchannelReceiveExit從佇列管理程式接收訊息時使用的接收結束程式。static java.lang.StringchannelReceiveExitUserDatastatic java.lang.ObjectchannelSecurityExit連接至佇列管理程式時所使用的安全結束程式。static java.lang.StringchannelSecurityExitUserDatastatic java.lang.ObjectchannelSendExit將訊息傳送至佇列管理程式時使用的傳送結束程式。static java.lang.StringchannelSendExitUserDatastatic intconnOptions佇列管理程式連線選項。static byte[]connTag連線標籤,可讓使用者序列化對其在 z/OS 佇列管理程式上使用之資源的存取權。static java.lang.StringexitClasspath當定義 Java 安全時,將傳送或接收結束程式作為要由類別載入器載入的字串,載入器必須知道其類別或 jar 包含該類別的路徑。static java.util.CollectionhdrCompList標頭壓縮所支援的壓縮程式清單。static java.lang.StringhostnameIBM MQ 伺服器所在機器的 TCP/IP 主機名稱。static java.lang.StringlocalAddressSetting透過防火牆連接至 IBM MQ 佇列管理程式時使用的本端位址 (包括埠範圍)。static java.util.CollectionmsgCompList訊息壓縮支援的壓縮程式清單。static java.lang.Stringpassword用來驗證 IBM MQ 用戶端身分的密碼。static intport要使用的埠。static java.util.Hashtableproperties定義 IBM MQ 環境的雜湊表。static MQReceiveExitreceiveExit已淘汰。從佇列管理程式接收訊息時使用的接收結束程式。 它可讓您檢查及可能變更資料,且通常與佇列管理程式上的對應傳送結束程式一起使用。如果您想要提供自己的接收結束程式,請定義實作 MQReceiveExit 介面的類別,並將 receiveExit 指派給該類別的實例。
如果您將此欄位設為空值,則不會呼叫接收結束程式。
static java.lang.StringreceiveExitUserData已淘汰。static MQSecurityExitsecurityExit已淘汰。連接至佇列管理程式時所使用的安全結束程式。 它可讓您自訂嘗試連接至佇列管理程式時所發生的安全流程。如果您想要提供自己的安全結束程式,請定義實作 MQSecurityExit 介面的類別,並將 securityExit 指派給該類別的實例。
如果您將此欄位設為空值,則不會呼叫安全結束程式。
static java.lang.StringsecurityExitUserData已淘汰。static MQSendExitsendExit已淘汰。將訊息傳送至佇列管理程式時使用的傳送結束程式。 它可讓您檢查及可能變更資料,且通常與佇列管理程式上的對應接收結束程式一起使用。如果您想要提供自己的傳送結束程式,請定義實作 MQSendExit 介面的類別,並將 sendExit 指派給該類別的實例。
如果您將此欄位設為空值,則不會呼叫傳送結束程式。
static java.lang.StringsendExitUserData已淘汰。static intsharingConversations每個連線的交談數。static java.util.CollectionsslCertStoresSSL CertStores 的集合。static java.lang.StringsslCipherSuiteSSL 要使用的「密碼組合」名稱。static booleansslFipsRequired當此選項設為 true 時,在此用戶端處理程序的 SSL 連線上唯一可以使用的「密碼組合」是已啟用 FIPS 的那些密碼組合。static java.lang.StringsslPeerName要由 SSL 使用之佇列管理程式的「識別名稱 (DN)」。static intsslResetCount在重設秘密金鑰之前,起始通道 MCA 所傳送及接收的未加密位元組總數。static java.lang.ObjectsslSocketFactory使用 SSL 加密連接時要使用的 Factory。static java.lang.StringuserID用來識別 IBM MQ 用戶端的 ID。static java.lang.Stringversion_noticeIBM MQ Java 類別的現行版本。
-
建構子摘要
建構子 建構子和說明 MQEnvironment()建構子 (constructor)
-
方法摘要
所有方法 Static 方法 具體方法 已淘汰的方法 修飾元和類型 方法和說明 static MQPoolTokenaddConnectionPoolToken()建構 MQPoolToken 並將它新增至記號集。static voidaddConnectionPoolToken(MQPoolToken token)將給定的 MQPoolToken 新增至連線儲存區。static voiddisableTracing()此方法會關閉 IBM MQ Client for Java 追蹤機能。static voidenableTracing(int level)static voidenableTracing(int level, java.io.OutputStream stream)Turns on tracing to console & (default) filestatic com.ibm.mq.MQConnectionManagergetDefaultConnectionManager()取得預設 ConnectionManager。static MQQueueManagergetQueueManagerReference(int scope)已淘汰。此方法及 MQC.MQ_QMGR_ASSOCION_PROPERTY 已淘汰,因為它們通常不提供特定值。static MQQueueManagergetQueueManagerReference(int scope, java.lang.Object context)已淘汰。此方法及 MQC.MQ_QMGR_ASSOCION_PROPERTY 已淘汰,因為它們通常不提供特定值。static java.lang.StringgetVersionNotice()取得 IBM MQ Java 類別的現行版本。static voidremoveConnectionPoolToken(MQPoolToken token)從連線儲存區移除記號。static voidsetDefaultConnectionManager(com.ibm.mq.MQConnectionManager mqCxMan)設定預設 MQConnectionManager ,並清空 MQPoolTokens 集。
-
-
欄位詳細資料
version_notice
public static final java.lang.String version_notice
IBM MQ Java 類別的現行版本。- 另請參閱:
- 常數欄位值
securityExit
public static MQSecurityExit securityExit
已淘汰。 連接至佇列管理程式時所使用的安全結束程式。 它可讓您自訂嘗試連接至佇列管理程式時所發生的安全流程。如果您想要提供自己的安全結束程式,請定義實作 MQSecurityExit 介面的類別,並將 securityExit 指派給該類別的實例。
如果您將此欄位設為空值,則不會呼叫安全結束程式。
securityExitUserData
public static java.lang.String securityExitUserData
已淘汰。
channelSecurityExit
public static java.lang.Object channelSecurityExit
連接至佇列管理程式時所使用的安全結束程式。 它可讓您自訂嘗試連接至佇列管理程式時所發生的安全流程。如果您想要提供您自己的安全結束程式,請定義類別來實作:-MQSecurityExit、WMQSecurityExit 介面或 String ,並將 securityExit 指派給該類別的實例,或將類別定義指派給字串。
如果您將此欄位設為空值,則不會呼叫安全結束程式。
channelSecurityExitUserData
public static java.lang.String channelSecurityExitUserData
SENDEXIT
public static MQSendExit sendExit
已淘汰。 將訊息傳送至佇列管理程式時使用的傳送結束程式。 它可讓您檢查及可能變更資料,且通常與佇列管理程式上的對應接收結束程式一起使用。如果您想要提供自己的傳送結束程式,請定義實作 MQSendExit 介面的類別,並將 sendExit 指派給該類別的實例。
如果您將此欄位設為空值,則不會呼叫傳送結束程式。
sendExitUserData
public static java.lang.String sendExitUserData
已淘汰。
channelSendExit
public static java.lang.Object channelSendExit
將訊息傳送至佇列管理程式時使用的傳送結束程式。 它可讓您檢查及可能變更資料,且通常與佇列管理程式上的對應接收結束程式一起使用。如果您想要提供您自己的傳送結束程式,請定義類別來實作:-MQSendExit、WMQSendExit 介面或 List 或 String ,並將 sendExit 指派給該類別的實例或類別定義給字串。
如果您將此欄位設為空值,則不會呼叫傳送結束程式。
channelSendExitUserData
public static java.lang.String channelSendExitUserData
ReceiveExit
public static MQReceiveExit receiveExit
已淘汰。 從佇列管理程式接收訊息時使用的接收結束程式。 它可讓您檢查及可能變更資料,且通常與佇列管理程式上的對應傳送結束程式一起使用。如果您想要提供自己的接收結束程式,請定義實作 MQReceiveExit 介面的類別,並將 receiveExit 指派給該類別的實例。
如果您將此欄位設為空值,則不會呼叫接收結束程式。
receiveExitUserData
public static java.lang.String receiveExitUserData
已淘汰。
channelReceiveExit
public static java.lang.Object channelReceiveExit
從佇列管理程式接收訊息時使用的接收結束程式。 它可讓您檢查及可能變更資料,且通常與佇列管理程式上的對應傳送結束程式一起使用。如果您想要提供您自己的傳送結束程式,請定義類別來實作:-MQReceiveExit、WMQReceiveExit 介面或 List ro String ,並將 receiveExit 指派給該類別的實例或將類別定義指派給字串。
如果您將此欄位設為空值,則不會呼叫接收結束程式。
channelReceiveExitUserData
public static java.lang.String channelelReceiveExitUserData
exitClassPath
public static java.lang.String exitClasspath
當定義 Java 安全時,將傳送或接收結束程式作為要由類別載入器載入的字串,載入器必須知道其類別或 jar 包含該類別的路徑。 載入器會使用系統內容 com.ibm.mq.exitClasspath 來尋找類別。 用戶端應用程式可以使用此內容來新增將動態載入的類別路徑。
HOSTNAME
public static java.lang.String hostname
IBM MQ 伺服器所在機器的 TCP/IP 主機名稱。 如果未設定主機名稱,且未設定任何置換內容,則會使用連結模式來連接至本端佇列管理程式。
埠
public static int port
要使用的埠。 這是 IBM MQ 接聽連線要求的埠。預設值是 1414。
channel
public static java.lang.String channel
目標佇列管理程式上要連接的通道名稱。 以連結模式直接連接至 IBM MQ 時不適用。 在建構以用戶端模式使用的 MQQueueManager 實例之前,您可以 必須 設定此欄位或對應的內容。
userID
public static java.lang.String userID
用來識別 IBM MQ 用戶端的 ID。 它相當於 IBM MQ 環境變數 MQ_USER_ID。
預設值為空值。
如果未定義此用戶端的安全結束程式,且 userID 設為空值或空字串 "" ,則 Java 的 IBM MQ 類別會查詢 Java 系統內容 "user.name " ,並將此內容傳輸至伺服器。
如果未定義此用戶端的安全結束程式,且 userID 已設為空值及空字串 "" 以外的值,則會將此值傳輸至伺服器。
如果已定義此用戶端的安全結束程式,則結束程式有責任套用任何應用程式特定的安全邏輯。 userID 的值無法用於結束程式,且不會傳輸至伺服器。
密碼
public static java.lang.String password
用來驗證 IBM MQ 用戶端身分的密碼。 它相當於 MQ 環境變數 MQ_PASSWORD。如果未定義此用戶端的安全結束程式,則會將密碼值傳輸至伺服器,且在呼叫時可供伺服器安全結束程式使用。
預設值為空值。
ccdtUrlProperty
public static java.net.URL ccdtUrlProperty
指定用戶端通道定義表 (CCDT) 位置以定義連線內容的 URL。
CCSID
public static int CCSID
用戶端使用的 CCSID。 以連結模式直接連接至 IBM MQ 時不適用。變更此值會影響您連接的佇列管理程式在 IBM MQ 標頭中轉換資訊的方式。 IBM MQ 標頭中的所有資料都是從 ASCII 字碼集的不變部分繪製,但不包括
MQMessage.applicationIdData及MQMessage.putApplicationName欄位。如果您避免對這兩個欄位使用 ASCII 字碼集變式部分的字元,則 CCSID 可以從 819 變更為任何其他 ASCII 字碼集。
如果您將用戶端 CCSID 變更為與您所連接的佇列管理程式相同,則會增加佇列管理程式的效能優勢,因為它不會嘗試轉換訊息標頭。 基於上述原因,這僅適用於 ASCII 字碼集-當使用 EBCDIC 與佇列管理程式通訊時,您不得將 CCSID 設為 EBCDIC 型值。
預設值為 819。
- 另請參閱:
MQMessage
hdrCompList
public static java.util.Collection hdrCompList
標頭壓縮所支援的壓縮程式清單。 可能的值為:
msgCompList
public static java.util.Collection msgCompList
訊息壓縮支援的壓縮程式清單。 可能的值為:
SSLCIPHERSUITE
public static java.lang.String sslCipherSuite
SSL 要使用的「密碼組合」名稱。 SSL 僅適用於用戶端連線,並透過設定 sslCipherSuite 來觸發。 如果未設定 sslCipherSuite ,則所有其他值都不相關,並使用標準非 SSL 連線來連接至伺服器。- 另請參閱:
sslCertStores,sslPeerName
SSLPEERNAME
public static java.lang.String sslPeerName
要由 SSL 使用之佇列管理程式的「識別名稱 (DN)」。 同層級名稱設為指出只有在伺服器順利鑑別為特定 DN 時才容許連線。- 另請參閱:
sslCipherSuite,sslCertStores
sslCertStores
public static java.util.Collection sslCertStores
SSL CertStores 的集合。 CertStores (僅限J2SE 1.4) 的集合可讓 IBM MQ Java 用戶端在「憑證撤銷清冊 (CRL)」中檢查憑證是否撤銷。- 另請參閱:
sslCipherSuite,sslPeerName
sslSocketFactory
public static java.lang.Object sslSocketFactory
使用 SSL 加密連接時要使用的 Factory。 如果設定 sslCipherSuite ,此變數可用來自訂 SSL 連線的所有層面。如需建構及自訂 SSLSocketFactory 實例的相關資訊,請參閱 JSSE 提供者。
如果設為空值 (預設值) 且要求 SSL 加密,則會使用預設 SSLSocketFactory。
如果未處理此變數,則會忽略此變數
sslCipherSuite是空值。
SSLRESETCOUNT
public static int sslResetCount
在重設秘密金鑰之前,起始通道 MCA 所傳送及接收的未加密位元組總數。 位元組數包括訊息通道代理程式所傳送的控制資訊。 值 0 會停用秘密金鑰重設的發生。
sslFipsRequired
public static boolean sslFipsRequired
當此選項設為 true 時,在此用戶端處理程序的 SSL 連線上唯一可以使用的「密碼組合」是已啟用 FIPS 的那些密碼組合。 在此情況下,如果已指定自訂的 sslSocketFactory ,則不會使用自訂的 sslSocketFactory ,因為無法保證 sslSocketFactory 符合 FIPS 標準。
localAddressSetting
public static java.lang.String localAddressSetting
透過防火牆連接至 IBM MQ 佇列管理程式時使用的本端位址 (包括埠範圍)。 格式為[ip-addr][(low-port[,high-port])].以下是一些範例:
- 9.20.4.98
- 通道會在本端連結至位址 9.20.4.98
- 9.20.4.98(1000)
- 通道會在本端連結至位址 9.20.4.98 ,並使用埠 1000
- 9.20.4.98(1000,2000)
- 通道會在本端連結至位址 9.20.4.98 ,並使用 1000 至 2000 範圍內的埠
- (1000)
- 通道在本端連結至埠 1000
- (1000,2000)
- 通道在本端連結至 1000 至 2000 範圍內的埠
您可以指定主機名稱而非 IP 位址。 當您啟動 JVM 時,會從系統內容 com.ibm.mq.localAddress 起始設定變數。 預設值為空值。
CONNTAG
public static byte [] connTag
連線標籤,可讓使用者序列化對其在 z/OS 佇列管理程式上使用之資源的存取權。 connTag 字串會截斷為 128 個位元組。 如果未指定,則會忽略 connTagconnOptions未設定 。
connOptions
public static int connOptions
佇列管理程式連線選項。 可能的值為:
SharingConversations
public static int sharingConversations
每個連線的交談數。 容許使用者開啟或關閉多工。 值 0 會關閉多工。
內容
public static java.util.Hashtable properties
定義 IBM MQ 環境的雜湊表。此雜湊表可讓您將環境內容設為鍵值組,而非個別變數。
內容也可以在上的參數中作為雜湊表傳遞
MQQueueManager建構子。 建構子上傳遞的內容優先於使用此內容變數所設定的值,但它們在其他情況下是可交換的。 尋找內容的優先順序如下:- MQQueueManager 建構子上的內容參數
- MQEnvironment.properties
- 其他 MQEnvironment 變數
- 常數預設值
內容索引鍵名稱如下:
MQC.CCDT_URL_PROPERTY- 置換
ccdtUrlProperty. MQConstants.CCSID_PROPERTY- 置換
CCSID. MQConstants.CHANNEL_PROPERTY- 置換
channel. MQConstants.CONNECT_OPTIONS_PROPERTY- 置換
connOptions. MQConstants.CONNTAG_PROPERTY- 置換
connTag. MQC.HEADER_COMPRESSION_PROPERTY- 置換
hdrCompList. MQC.MESSAGE_COMPRESSION_PROPERTY- 置換
msgCompList. MQConstants.HOST_NAME_PROPERTY- 置換
hostname. MQConstants.LOCAL_ADDRESS_PROPERTY- 置換
localAddressSetting. MQConstants.PASSWORD_PROPERTY- 置換
password. MQConstants.PORT_PROPERTY- 置換
port。 接下來的三個警告是不可避免的 - 已淘汰的內容 MQConstants.RECEIVE_EXIT_PROPERTY
- 置換
receiveExit. - 已淘汰的內容 MQCONSTANTS.SECURITY_EXIT_PROPERTY
- 置換
securityExit. - 已淘汰的內容 MQConstants.SEND_EXIT_PROPERTY
- 置換
sendExit. MQConstants.SSL_CERT_STORE_PROPERTY- 置換
sslCertStores. MQConstants.SSL_CIPHER_SUITE_PROPERTY- 置換
sslCipherSuite. MQConstants.SSL_FIPS_REQUIRED- 置換
sslFipsRequired. MQConstants.SSL_RESET_COUNT_PROPERTY.- 置換
sslResetCount. MQConstants.SSL_PEER_NAME_PROPERTY.- 置換
sslPeerName. MQConstants.SSL_SOCKET_FACTORY_PROPERTY- 置換
sslSocketFactory. MQConstants.TRANSPORT_PROPERTY- 部隊
MQConstants.TRANSPORT_MQSERIES_BINDINGS或MQConstants.TRANSPORT_MQSERIES_CLIENT. MQConstants.USER_ID_PROPERTY- 置換
userID. MQC.SHARING_CONVERSATIONS_PROPERTY- 置換
sharingConversations.
-
方法詳細資料
getVersionNotice
public static final java.lang.String getVersionNotice ()
取得 IBM MQ Java 類別的現行版本。- 傳回:
- 版本。
enableTracing
public static void enableTracing (int level)
- 參數:
level-在此版本中已忽略
enableTracing
public static void enableTracing (int level , java.io.OutputStream 串流)Turns on tracing to console & (default) file- 參數:
level-在此版本中已忽略stream-目前被忽略 (不幸)
disableTracing
public static void disableTracing ()
此方法會關閉 IBM MQ Client for Java 追蹤機能。
setDefaultConnectionManager
public static void setDefaultConnectionManager (com.ibm.mq.MQConnectionManager mqCxMan)
設定預設 MQConnectionManager ,並清空 MQPoolTokens 集。 在 MQQueueManager 建構子上未指定任何 ConnectionManager 時,會使用預設 ConnectionManager。- 參數:
mqCxMan-提供的 MQConnectionManager。
getDefaultConnectionManager
public static com.ibm.mq.MQConnectionManager getDefaultConnectionManager ()
取得預設 ConnectionManager。- 傳回:
- 如果預設連線管理程式是 MQConnectionManager 而非 ConnectionManager ,則為空值。
addConnectionPoolToken
public static void addConnectionPoolToken (MQPoolToken token)
將給定的 MQPoolToken 新增至連線儲存區。 預設 ConnectionManager 可以使用此作為提示; 通常,只有在連線儲存區中至少有一個記號時才會啟用它。- 參數:
token-要新增的記號。
addConnectionPoolToken
public static MQPoolToken addConnectionPoolToken ()
建構 MQPoolToken 並將它新增至記號集。 記號會傳回至應用程式,稍後會傳遞至removeConnectionPoolToken()方法。- 傳回:
- 已新增的記號。
removeConnectionPoolToken
public static void removeConnectionPoolToken (MQPoolToken token)
從連線儲存區移除記號。- 參數:
token-要移除的記號。
getQueueManagerReference
public static MQQueueManager getQueueManagerReference (int scope)
已淘汰。 此方法及 MQC.MQ_QMGR_ASSOCION_PROPERTY 已淘汰,因為它們通常不提供特定值。傳回MQQueueManager物件參照 (如果在指定範圍內可用的話)。 範圍必須是 MQC.ASSOCATE_ALL 或 MQC.ASSOCIATE_THREAD} 之一,且必須已建立佇列管理程式,並將 MQC.MQ_QMGR_ASSOCION_PROPERTY 內容設為所要求的範圍。如果未在指定的範圍內建立任何佇列管理程式,或如果指定 MQC.ASSOCIATE_NONE ,則此方法將傳回空值。
此方法的呼叫與呼叫相同
MQEnvironment.getQueueManagerReference(int, Object)具有空值物件。- 參數:
scope-關聯範圍- 傳回:
- MQQueueManager ,如果沒有可用的參照,則為空值。
- 另請參閱:
getQueueManagerReference(int, Object)
getQueueManagerReference
public static MQQueueManager getQueueManagerReference (int scope , java.lang.Object 環境定義)
已淘汰。 此方法及 MQC.MQ_QMGR_ASSOCION_PROPERTY 已淘汰,因為它們通常不提供特定值。傳回MQQueueManager物件參照 (如果在指定範圍內可用的話)。 範圍必須是下列其中一項:MQC.ASSOCIATE_ALL或MQC.ASSOCIATE_THREAD,且必須已使用建立佇列管理程式MQC.MQ_QMGR_ASSOCIATION_PROPERTY設為所要求的範圍。 提供的物件提供識別範圍內的 MQQueueManager 所需的資訊; 對於 MQC.ASSOCITE_ALL 和 MQC.Associate_THREAD ,此物件必須是包含佇列管理程式名稱的字串。如果在指定的範圍內未建立由提供的物件所識別的佇列管理程式,或如果
MQC.ASSOCIATE_NONE已指定 ,此方法將傳回空值。此方法傳回的 MQQueueManager 物件將參照與使用 MQConstants.MQ_QMGR_ASSOCATION_PROPERTY 集建立的 MQQueueManager 相同的基礎 HConn ,因此兩者將共用相同的交易環境定義。 如果嘗試在不同佇列管理程式的相同環境定義上建立第二個 MQQueueManager 物件,則會建立個別的 HConn ,且第一個和第二個物件會有獨立的交易環境定義。 這些環境定義將延伸至 IBM MQ 協調 JDBC 交易,方法是使用
MQQueueManager.getJDBCConnection(XADataSource)適當佇列管理程式上的 。- 參數:
scope-關聯範圍context-包含環境定義的物件。 目前必須是指定 IBM MQ 佇列管理程式名稱的字串- 傳回:
- MQQueueManager ,如果沒有可用的參照,則為空值。
-