Sun Java System Message Queue 3.5 SP1 管理指南 |
第 4 章
管理主控台指導本指導重點介紹管理主控台這種管理 Message Queue 訊息伺服器的圖形介面的使用。遵循本指導,您將學習如何執行以下作業:
配置所需目標與受管理物件以執行 JMS 相容的應用程式 (HelloWorldMessageJNDI,可於範例應用程式的 helloworld 子目錄/demo 目錄中取得) 時,可參考此指導 (請參閱附錄 A「Message Queue 資料的位置」)。在本指導的最後部分,您將執行此應用程式。
提供的本指導主要是為了指導您使用管理主控台執行基本的管理工作。本指導不能替代整本「Message Queue Java 用戶端開發人員指南」或「管理指南」的其他章。
使用圖形工具無法完成某些 Message Queue 管理工作;您將需要使用指令行公用程式執行以下此類作業:
- 配置某些實體目標特性
某些實體目標特性無法使用管理主控台來配置。可以以「管理目標」中的章節描述來配置這些代理程式特性。
- 建立代理程式叢集
請參閱「使用叢集 (企業版)」,以獲得更多資訊。
- 管理使用者資料庫
請參閱「認證使用者」,以獲得更多資訊。
準備工作您必須安裝 Message Queue 產品之後才可以啟動本指導。如需更多資訊,請參閱「Message Queue 安裝指南」。請注意,本指導用於 Windows,並針對 Unix 使用者加入備註。
在本指導中,選擇 [Item1] > [Item2] > [Item3] 表示您應下拉名為 Item1 的功能表,從此功能表中選擇 Item2,然後從 Item2 提供的選取中選擇 Item3。
啟動管理主控台管理主控台是您用於執行以下作業的圖形工具:
- 建立代理程式的參考並連接至代理程式
- 管理代理程式
- 在代理程式上建立實體目標,代理程式可使用這些實體目標發送訊息
- 連接至您可將 Message Queue 受管理物件放在其中的物件倉庫
受管理物件可讓您管理 JMS 相容應用程式的訊息傳送需要。如需更多資訊,請參閱「Message Queue 受管理物件」。
若要啟動管理主控台
沒有指導可以提供完全的資訊,因此讓我們首先找到取得管理主控台說明資訊的方法。
取得說明
在功能表列的最右端可以找到 [Help] 功能表。
若要顯示管理主控台說明資訊
- 下拉 [Help] 功能表並選擇 [Overview]。畫面上將會顯示說明視窗。
請注意說明資訊的組織方式。左側的導覽窗格顯示目錄表;右側的結果窗格顯示您在導覽窗格選取的任何項目的內容。
查看 [Help] 視窗的結果窗格。它顯示管理主控台的框架視區,可識別每個主控台窗格的使用。
- 查看 [Help] 視窗的導覽窗格。它以三個區域管理主題:簡介、物件倉庫管理和代理程式管理。每個區域均包含檔案與資料夾。每個資料夾為包含多個標籤的對話方塊提供說明;每個檔案為單個對話方塊或標籤提供說明。
您的第一項主控台管理工作 (「新增代理程式」) 將是建立可透過主控台管理的代理程式的參考。但是開始之前,請先檢查線上說明以獲得資訊。
- 在 [Help] 視窗的目錄窗格中,按一下 [Add Broker] 項目。
請注意結果窗格已經變更。它此時包含介紹新增代理程式涵義的文字,還包含描述 [Add Broker] 對話方塊中每個欄位之使用的文字。欄位名稱以粗體文字顯示。
- 閱讀此說明文字。
- 關閉 [Help] 視窗。
使用代理程式代理程式為 Message Queue 訊息傳送系統提供發送服務。訊息發送過程分為兩個階段:首先將訊息發送至代理程式上的實體目標,然後再將其發送至一個或多個使用用戶端。
使用代理程式包括以下工作:
您可以從 Windows 上的 [開始] > [程式集] 功能表啟動代理程式,或透過使用 imqbrokerd 指令啟動。如果您使用 imqbrokerd 指令,則可以使用指令行選項來指定代理程式配置資訊。如果您使用 [程式集] 功能表,則可以使用主控台以及第 5 章「啟動與配置代理程式」中所述的其他方法來指定配置資訊 。
代理程式支援與應用程式用戶端以及管理用戶端的通訊。它透過不同的連接服務進行通訊,因此您可以將代理程式配置為執行這些服務的任何一項或者全部。如需有關連接服務的更多資訊,請參閱「連接服務」。
啟動代理程式
您無法使用管理主控台啟動代理程式。啟動代理程式的步驟如下所述 (也可參閱第 5 章「啟動與配置代理程式」)。
若要啟動代理程式
在向管理主控台中的代理程式新增參考之前,您不必啟動此代理程式,但是您必須啟動代理程式之後才可以與其連接。
新增代理程式
新增代理程式可建立管理主控台中代理程式的參考。新增代理程式之後,您可以連接至此代理程式。
若要將代理程式新增至管理主控台
- 在導覽窗格中的 [Broker] 上按一下滑鼠右鍵,然後選擇 [Add Broker]。
- 在 [Broker Label] 欄位中輸入 MyBroker。
這可提供識別管理主控台中代理程式的標籤。
請注意對話方塊中指定的預設主機名稱 (localhost) 和主要連接埠 (7676)。稍後當您配置連線工廠 (用戶端將用來配置與此代理程式的連接) 時,您將需要指定這些值。
保留 [Password] 欄位為空白。如果您在連接時指定密碼將更安全。
- 按一下 [OK] 以新增此代理程式。
查看導覽窗格。您剛新增的代理程式應已在 [Broker] 下列出。代理程式圖示上的紅色 X 表示此代理程式目前尚未連接至主控台。
- 在 [MyBroker] 上按一下滑鼠右鍵,然後從快顯功能表中選擇 [Properties]。
畫面上將會顯示代理程式特性對話方塊。您可以使用此對話方塊更新您在新增此代理程式時指定的任何特性。
- 按一下 [Cancel] 以關閉此對話方塊。
變更管理員密碼
當您連接至代理程式時,如果您未在新增代理程式時指定密碼,則系統會提示您提供密碼。依預設,[Administration Console] 可以用使用者 admin,密碼 admin 連接至代理程式。為了更高的安全性,最好在連接前變更預設管理員密碼 (admin)。
若要變更管理員密碼
變更會立即生效。每當您使用 Message Queue 指令行公用程式或管理主控台之一時,您必須指定新的密碼。
雖然用戶端與管理員使用不同的連接服務,但是系統還為用戶端指定了預設使用者名稱和密碼,以便您可以測試 Message Queue 而不必進行大量的管理配置。依預設,用戶端可以用使用者 guest,密碼 guest 連接至代理程式。但是,您應儘快為用戶端建立安全的使用者名稱和密碼。請參閱「認證使用者」,以獲得更多資訊。
連接至代理程式
若要連接至代理程式
- 在 MyBroker 上按一下滑鼠右鍵,然後選擇 [Connect to Broker]。
畫面上將會顯示對話方塊,可讓您指定您的名稱和密碼。
- 在 [Password] 欄位中輸入 admin,或輸入您在「變更管理員密碼」中為密碼指定的任何值。
指定使用者名稱 admin 並提供正確的密碼可讓您連接至代理程式,並擁有管理權限。
- 按一下 [OK] 以連接至此代理程式。
連接至此代理程式之後,您可以從 [Actions] 功能表中選擇以獲得有關代理程式的資訊、暫停並繼續代理程式、關閉並重新啟動代理程式以及與代理程式中斷連接。
檢視連接服務
透過代理程式提供的連接服務和它支援的實體目標可以識別此代理程式。
若要檢視可用的連接服務
- 在導覽窗格中選取 [Services]。
可用的服務會在結果窗格中列出。對於每種服務,均會提供其名稱、連接埠號與狀態。
- 按一下結果窗格中的 jms 服務選取此服務。
- 下拉 [Actions] 功能表並注意反白顯示的項目。
您便可以暫停 jms 服務或檢視與更新其特性。
- 從 [Actions] 功能表中選擇 [Properties]。
請注意,透過使用 [Service Properties] 對話方塊,您可以為服務指定靜態連接埠號,還可以變更配置給此服務的最小和最大執行緒數量。
- 按一下 [OK] 或 [Cancel] 以關閉 [Properties] 對話方塊。
- 在結果窗格中選取 admin 服務。
- 下拉 [Actions] 功能表。
請注意您無法暫停此服務 (暫停項目已停用)。admin 服務是管理員與代理程式的連結。如果暫停此服務,您將無法再存取代理程式。
- 選擇 [Actions] > [Properties] 以檢視 admin 服務的特性。
- 當您完成之後,按一下 [OK] 或 [Cancel]。
將實體目標新增至代理程式
依預設,已啟用代理程式自動建立目標的功能,以便讓代理程式動態建立實體目標。因此,在開發環境中,您不需明確建立目標來測試用戶端程式碼。
但是,在生產配置中,會建議您明確建立實體目標。這樣可讓您 (管理員) 充分地瞭解在代理程式上使用的目標。
透過配置 imq.autocreate.topic 或 imq.autocreate.queue 特性,您可以控制代理程式是否可以新增自動建立的目標。如需更多資訊,請參閱「自動建立的 (對應管理員建立的) 目標」。
在本節指導中,您可將實體目標新增至代理程式。您應注意指定給此目標的名稱;稍後當您建立與此實體目標相對應的受管理物件時將需要此名稱。
若要將佇列目標新增至代理程式
使用實體目標
一旦您已在代理程式上新增實體目標,您便可以進行以下任何工作,如以下程序中所述:
若要檢視實體目標的特性
若要從目標中清除訊息
清除訊息可移除訊息並保留空白目標。
若要刪除目標
刪除目標可清除此目標上的訊息並移除此目標。
取得有關主題目標的資訊
代理程式主題目標的特性對話方塊包括一個列示長期訂閱資訊的附加標籤。此標籤在佇列目標為停用狀態。
您可以使用此對話方塊:
使用物件倉庫物件倉庫為 LDAP 目錄伺服器或檔案系統倉庫 (檔案系統中的目錄),用於儲存 Message Queue 受管理物件,這些受管理物件封裝 Message Queue 特定的有關用戶端應用程式所用物件的實施與配置資訊。
雖然可以在用戶端程式碼中創設與配置受管理物件,但是您 (管理員) 最好在物件倉庫中建立、配置並儲存這些物件,用戶端應用程式可使用 JNDI 查找程式碼存取此物件倉庫。這樣可讓用戶端程式碼獨立於供應程式。
如需有關受管理物件的更多資訊,請參閱「Message Queue受管理物件」。
您無法使用管理主控台建立物件倉庫。您必須提前進行此作業,如以下一節中所述。
新增物件倉庫
新增物件倉庫可在管理主控台中建立現有物件倉庫的參考。即使您退出並重新啟動主控台,此參考仍可保留。
若要新增檔案系統物件倉庫
- 如果您的 C 磁碟機上還沒有名為 Temp 的資料夾,請現在建立一個。
本指導中所用範例應用程式假設物件倉庫為 C 磁碟機上名為 Temp 的資料夾。一般來說,檔案系統物件倉庫可以為任何磁碟機上的任何目錄。
非 Windows:您可以使用 /tmp 目錄,此目錄應已存在。
- 在 [Object Stores] 上按一下滑鼠右鍵,然後選擇 [Add Object Stores]。
畫面上將會顯示以下對話方塊:
- 在名為 [ObjectStoreLabel] 的欄位中輸入 MyObjectStore。
此項僅可為管理主控台中的物件倉庫顯示提供標籤。
在以下步驟中,您將需要輸入 JNDI 名稱/值對。JMS 相容應用程式將使用這些名稱/值對來查找受管理物件。
- 從 [Name] 下拉式清單中選取 java.naming.factory.initial。
此特性可讓您指定要使用何種 JNDI 服務供應程式。例如,檔案系統服務供應程式或 LDAP 服務供應程式。
- 在 [Value] 欄位中輸入以下內容
com.sun.jndi.fscontext.RefFSContextFactory
這表示您將使用檔案系統倉庫。(對於 LDAP 倉庫,您將指定 com.sun.jndi.ldap.LdapCtxFactory。)
在生產環境中,您可能要使用 LDAP 目錄伺服器作為物件倉庫。如需有關配置伺服器以及進行 JNDI 查找的資訊,請參閱「LDAP 伺服器物件倉庫」。
- 按一下 [Add] 按鈕。
請注意此時特性摘要窗格中列出的特性及其值。
- 從 [Name] 下拉式清單中選取 java.naming.provider.url。
此特性可讓您指定物件倉庫的確切位置。對於檔案系統類型的物件倉庫,此項將為現有目錄的名稱。
- 在 [Value] 欄位中輸入以下內容
file:///C:/Temp
(在 Solaris 和 Linux 上為 file:///tmp )
- 按一下 [Add] 按鈕。
請注意此時屬性摘要窗格中列出的特性及其值。如果您要使用 LDAP 伺服器,您可能還必須指定認證資訊;而檔案系統倉庫則無需此項。
- 按一下 [OK] 以新增此物件倉庫。
- 如果尚未在導覽窗格中選取節點 [MyObjectStore],請現在選取它。
管理主控台此時顯示如下:
此物件倉庫已在導覽窗格中列出,其內容、目標以及連線工廠已在結果窗格中列出。我們尚未將任何受管理物件新增至此物件倉庫,這可在結果窗格的 [Count] 欄中顯示。
導覽窗格中的物件倉庫圖示上畫有紅色的 X。這表示此物件倉庫已中斷連接。在使用物件倉庫之前,您將需要與其連接。
檢查物件倉庫特性
當中斷管理主控台與物件倉庫的連接時,您可以檢查與變更此物件倉庫的某些特性。
若要顯示物件倉庫的特性
連接至物件倉庫
您必須連接至物件倉庫之後才可以將物件新增至此倉庫。
若要連接至物件倉庫
新增連線工廠受管理物件
您可以使用管理主控台建立和配置連線工廠。用戶端程式碼使用連線工廠連接至代理程式。透過配置連線工廠,您可以控制連線工廠通常建立的連接運作方式。
如需有關配置連線工廠的資訊,請參閱線上說明與「Message Queue Java 用戶端開發人員指南」。
備註
管理主控台僅列出與顯示 Message Queue 受管理物件。如果物件倉庫應包含的非 Message Queue 物件與您想新增的受管理物件具有相同的查找名稱,那麼當您嘗試新增作業時會出現錯誤。
若要將連線工廠新增至物件倉庫
- 如果尚未連接,請連接至 MyObjectStore (請參閱「連接至物件倉庫」)。
- 在 [Connection Factories] 節點上按一下滑鼠右鍵,然後選擇 [Add Connection Factory Object]。
畫面上將會顯示 [Add Connection Factory Object] 對話方塊。
- 在 [LookupName] 欄位中輸入名稱「MyQueueConnectionFactory」。
此名稱為用戶端程式碼查找連線工廠時使用的名稱,如 HelloWorldMessageJNDI.java 的以下行中所示:
qcf=(javax.jms.QueueConnectionFactory)
ctx.lookup("MyQueueConnectionFactory")- 從下拉式清單中選取 [QueueConnectionFactory],以指定連線工廠的類型。
- 按一下 [Connection Handling] 標籤。
- 您通常可以在 [Message Server Address List] 欄位輸入用戶端連接之代理程式的位址。此欄位的範例如下所示:
mq://localhost:7676/jms
依預設,您不需輸入任何值,因為將連接 Facotry 配置為在連接埠 7676 上的本地主機執行以連接至代理程式,此配置為本指導所預期的範例。
- 按一下此對話方塊的所有標籤,以查閱您可以為連線工廠配置的資訊種類。使用 [Add Connection Factory Object] 對話方塊右下角的 [Help] 按鈕,以獲得有關個別標籤的資訊。此時請勿變更任何預設值。
- 按一下 [OK] 以建立此佇列連線工廠。
- 查看結果窗格:已列出新建立的連線工廠的查找名稱與類型。
新增目標受管理物件
目標受管理物件與代理程式上的實體目標相關聯;它們指向那些目標,也就是說可讓用戶端查找並找到實體目標,而不依賴於供應程式特定的命名與配置那些目標的方法。
當用戶端傳送訊息時,它會查找 (或創設) 目標受管理物件,並以 JMS API 的 send() 方法參考此物件。然後,代理程式負責將訊息發送至與受管理物件相關聯的實體目標:
在本指導的下一部分,您將要新增與您先前新增的實體目標相對應的受管理物件。
若要將目標新增至物件倉庫
- 在導覽窗格的中的 [Destination] 節點 (於 [MyObjectStore] 節點下) 上按一下滑鼠右鍵。
- 選擇 [Add Destination Object]。
管理主控台會顯示 [Add Destination Object] 對話方塊,您可用來指定有關此物件的資訊。
- 在 [Lookup Name] 欄位中輸入「MyQueue」。
使用此查找名稱可以找到正在使用 JNDI 查找呼叫的物件。在範例應用程式中,此呼叫如下:
queue=(javax.jms.Queue)ctx.lookup("MyQueue");
- 為 [Destination Type] 選擇 [Queue] 單選按鈕。
- 在 [Destination Name] 欄位中輸入 MyQueueDest。
此名稱為您在代理程式上新增實體目標時指定的名稱 (請參閱「將實體目標新增至代理程式」)。
- 按一下 [OK]。
- 在導覽窗格中選取 [Destination],並注意有關剛新增的佇列目標受管理物件的資訊在結果窗格中的顯示方式。
受管理物件特性
若要檢視或更新受管理物件的屬性,您需要在導覽窗格中選取 [Destinations] 或 [Connection Factories],在結果窗格中選取特定的物件然後選擇 [Actions] > [Properties]。
若要檢視或更新目標物件的特性
更新主控台資訊無論您使用物件儲存區還是代理程式,均可以透過選擇 [View] > [Refresh] 來更新任何元素或元素群組的可視顯示。
執行範例應用程式提供的範例應用程式 HelloWorldMessageJNDI,與本指導配合使用 (如需取得位置,請參閱以下的步驟 1)。它使用您在上述指導中建立的實體目標與受管理物件:命名為 MyQueueDest 的佇列實體目標,以及分別包含 JNDI 查找名稱 MyQueueConnectionFactory 和 MyQueue 的佇列連線工廠受管理物件,
此程式碼建立簡單的佇列傳送者和接收者,並傳送和接收「Hello World」訊息。
若要執行 HelloWorldMessageJNDI 應用程式
- 使包含 HelloWorldmessageJNDI 應用程式的目錄成為目前目錄;例如:
在 Windows 上為 cd IMQ_HOME\demo\helloworld\helloworldmessagejndi
在 Solaris 上為 cd /usr/demo/imq/helloworld/helloworldmessagejndi
在 Linux 上為 cd /opt/imq/demo/helloworld/helloworldmessagejndi
您應會發現 HelloWorldMessageJNDI.class 檔案已存在。(如果您要變更此應用程式,將需要使用「Message Queue C 用戶端開發人員指南快速入門指導」中的用於編譯用戶端應用程式的指令重新編譯它。)
- 配置 CLASSPATH 變數,以納入目前包含檔案 HelloWorldMessageJNDI.class 的目錄與 Message Queue 產品的 JAR 檔案,JAR 檔案如下所示:jms.jar、imq.jar 和 fscontext.jar。請參閱「Message Queue Java 用戶端開發人員指南」,以獲得配置 CLASSPATH 的說明。
JNDI jar 檔案 (jndi.jar) 隨附於 JDK 1.4。如果您在使用 JDK,您則不需新增 jndi.jar 至您的 CLASSPATH 配置。如果您是使用較早版本的 JDK,您則必須將 jndi.jar 納入您的 CLASSPATH。請參閱「Message Queue Java 用戶端開發人員指南」,以取得其他資訊。
- 執行此應用程式前,請開啟來源檔案 HelloWorldMessageJNDI.java,接著閱讀來源。它很簡短但已充分進行說明,並且有關您使用本指導已建立的受管理物件和目標的使用方法亦相當清楚。
- 請執行以下其中一個指令,以執行 HelloWorldMessageJNDI 應用程式:
在 Windows 上為 java HelloWorldMessageJNDI
在 Solaris 和 Linux 上為 % java HelloWorldMessageJNDI file:///tmp
如果此應用程式執行成功,您應看到以下輸出: