本節說明如何將中心設定成使用 JMS 傳輸。如果您要使用 JMS 傳輸, 來從中心送出文件或在中心接收文件, 請遵循本節中的程序進行。如果您不使用 JMS 傳輸,請跳過本節。
在接下來的幾節中,您將學習如何設定 JMS 目標或閘道(或兩者)。這些作業將在設定 JMS 目標和設定 JMS 閘道中一一說明。
首先是建立 JMS 的目錄。舉例來說,假設您想在 Windows 安裝環境的 c:\temp 目錄下, 建立一個名為 JMS 的目錄。您將執行的步驟如下:
在本節中,您將更新 JMSAdmin.config 檔(為 WebSphere MQ 安裝的一部分), 以變更環境定義 Factory 和提供者 URL。
INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory PROVIDER_URL=ldap://polaris/o=ibm,c=us
#INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory #PROVIDER_URL=file:/C:/JNDI-Directory
PROVIDER_URL=file:/c:/temp/JMS
在本節中,您將使用 WebSphere MQ 來建立您傳送和接收文件時所用的佇列, 以及這項通訊所用的通道。 在此假設已建立佇列管理程式。請使用佇列管理程式名稱來取代下列步驟中的 <queue_manager_name>。此外,也假設此佇列管理程式的接聽器已在 TCP 埠 1414 上啟動。
strmqcsv <queue_manager_name>
runmqsc <queue_manager_name>
def ql(<queue_name>)
舉例來說,若要建立名為 JMSIN 的佇列,可輸入:
def ql(JMSIN)
def ql(<queue_name>)
舉例來說,若要建立名為 JMSOUT 的佇列,可輸入:
def ql(JMSOUT)
def channel(<channel_name>) CHLTYPE(SVRCONN)
舉例來說,若要建立名為 java.channel 的通道,可輸入:
def channel(java.channel) CHLTYPE(SVRCONN)
end
請輸入下列指令,將 Java 執行時期新增到您的系統路徑中:
set PATH=%PATH%;<ProductDir>\_jvm\jre\bin
其中 ProductDir 代表 WebSphere Partner Gateway 的安裝目錄。
若要定義 JMS 配置,請執行下列步驟:
JMSAdmin
define ctx(<context_name>)
change ctx(<context_name>)
比方說,如果 context_name 為 JMS,則指令類似如下:
define ctx(JMS)
change ctx(JMS)
define qcf(connection_factory_name) tran(CLIENT) host(<your_IP_address>) port(1414) chan(java.channel) qmgr(<queue_manager_name>)
define q(<name>) queue(<queue_name>) qmgr(<queue_manager_name>)
define q(<name>) queue(<queue_name>) qmgr(<queue_manager_name>)
end
上述的步驟已建立 .bindings 檔, 並放在您於5 步驟中指定之資料夾的子資料夾內。子資料夾的名稱會是您指定給 JMS 環境定義的名稱。
例如,以下的 JMSAdmin 階段作業用以將 Queue Connection Factory 定義成 Hub(中心), 其中 IP 位址為 sample.ibm.com, 這是 MQ 佇列管理程式(<queue_manager_name> 為 sample.queue.manager)的所在。本例使用建立佇列和通道中所建的 JMS 佇列名稱和通道名稱。請注意,使用者輸入是放在 > 提示後面。
InitCtx> define ctx(jms) InitCtx> change ctx(jms) InitCtx/jms> define qcf(Hub) tran(CLIENT) host(sample.ibm.com) port(1414) chan(java.channel) qmgr(sample.queue.manager) InitCtx/jms> define q(inQ) queue(JMSIN) qmgr(sample.queue.manager) InitCtx/jms> define q(outQ) queue(JMSOUT) qmgr(sample.queue.manager) InitCtx/jms>end
在本例中,.bindings 檔將位於 c:/temp/JMS/JMS 目錄;其中 c:/temp/JMS 為 PROVIDER_URL,JMS 為環境定義名稱。