Sun Java System Message Queue 3.7 UR1 管理指南

啟動代理程式

您可以使用 Message Queue 指令行公用程式或 Windows [開始] 功能表,以互動方式啟動代理程式,或是安排在系統啟動時自動啟動代理程式。以下各節描述如何:

以互動方式啟動代理程式

您可以使用代理程式公用程式 (imqbrokerd),從指令行以互動方式啟動代理程式。(也可以從 Windows 的 [開始] 功能表,啟動代理程式。)您無法使用管理主控台 (imqadmin) 或指令公用程式 (imqcmd) 來啟動代理程式,因為必須先執行代理程式,才能使用這些工具。

在 Solaris 和 Linux 平台上,代理程式實例一律必須由最初啟動該實例的同一位使用者啟動。每個代理程式實例都有自己的配置特性和檔案式訊息存放區。初次啟動代理程式實例時,Message Queue 會使用該使用者的檔案建立模式遮罩 (umask),設定包含該代理程式實例配置資訊和永久性資料之目錄的權限。

代理程式實例的預設名稱是 imqbroker。您只要使用下列指令,即可從指令行以該名稱和預設配置來啟動代理程式

imqbrokerd

該指令會在本地機器上使用預設連接埠 7676 上的連接埠對映器,啟動代理程式實例 imqbroker (請參閱連接埠對映器)。

若要指定非預設的實例名稱,請在 imqbrokerd 指令上使用 -name 選項。下列指令啟動的代理程式實例名稱是 myBroker

imqbrokerd -name myBroker

您也可以在 imqbrokerd 指令行上使用其他選項來控制代理程式作業的各種狀況。下列範例使用 -tty 選項,向指令視窗傳送錯誤和警告 (標準輸出):

imqbrokerd -name myBroker -tty

您也可以在指令行上使用 -D 選項來置換代理程式實例配置檔案 (config.properties) 中指定的特性值。此範例設定 imq.jms.max_threads 特性,將 jms 連線服務可用的最大執行緒數目提高到 2000:

imqbrokerd -name myBroker -Dimq.jms.max_threads=2000

如需 imqbrokerd 指令的語法、子指令和選項的詳細資訊,請參閱代理程式公用程式。如需這項資訊的快速摘要,請輸入下列指令:

imqbrokerd -help

備註 –

如果您有 Sun Java System Message Queue Platform Edition 授權,則可以使用 imqbrokerd 指令的 -license 選項以啟動 Enterprise Edition 試用授權,試用 Enterprise Edition 功能 90 天。請指定授權名稱 try

imqbrokerd -license try

每次啟動代理程式時,都必須使用此選項,否則代理程式會預設為標準 Platform Edition 授權。


自動啟動代理程式

除了從指令行明確啟動代理程式之外,您也可以設定在系統啟動時自動啟動代理程式。執行此作業的方式,會因執行代理程式的平台 (Solaris、Linux 或 Windows) 而有所不同。

在 Solaris 和 Linux 上自動啟動

在 Solaris 和 Linux 系統上安裝 Message Queue 時,可啟用自動啟動作業的程序檔位於 /etc/rc* 樹狀目錄中。若要使用這些程序檔,您必須編輯配置檔案/etc/imq/imqbrokerd.conf (Solaris) 或 /etc/opt/sun/mq/imqbrokerd.conf (Linux),如下所示:

在 Windows 上自動啟動

若要在 Windows 系統啟動時自動啟動代理程式,您必須將代理程式定義為 Windows 服務。然後就會在系統啟動時啟動代理程式,並且在背景中執行到系統關機為止。因此,除非您要啟動其他實例,否則不必使用 imqbrokerd 指令啟動代理程式。

一個系統只能有一個代理程式當成 Windows 服務來執行。[工作管理員] 會將這類代理程式當作兩個可執行的程序列出:

在 Windows 系統上安裝 Message Queue 時,您可以將代理程式安裝為服務。安裝後,您可以使用服務管理員公用程式 (imqsvcadmin) 執行下列作業:

若要將啟動選項傳送給代理程式,可在 imqsvcadmin 指令中使用 -args 引數。它的作用等同於啟動代理程式中描述的 imqbrokerd 指令之 -D 選項。使用指令公用程式 (imqcmd) 以控制代理程式照常運作。

如需 imqsvcadmin 指令的語法、子指令和選項的完整資訊,請參閱服務管理員公用程式

重新配置代理程式服務

如要重新配置安裝為 Windows 服務的代理程式,程序如下:

Procedure重新配置當成 Windows 服務執行的代理程式

  1. 停止服務。

    1. 從 Windows [開始] 功能表的 [設定] 子功能表中,選擇 [控制台]。

    2. 開啟 [系統管理工具] 控制台。

    3. 選擇 [服務] 圖示以執行服務工具,然後從 [檔案] 功能表或快顯式環境功能表選擇 [開啟],或是直接連按兩下該圖示。

    4. 在 [服務 (本機)] 下方,選擇 [Message Queue Broker] 服務,然後從 [執行] 功能表中選擇 [內容]。

      或者,您可以在 [訊息佇列代理程式] 上按一下滑鼠右鍵,然後從快顯功能表中選擇 [內容],或直接連按兩下 [訊息佇列代理程式]。不論何種方式,都會出現 [訊息佇列代理程式特性] 對話方塊。

    5. 在 [內容] 對話方塊中的 [一般] 標籤下方,按一下 [停止] 即可停止代理程式服務。

  2. 移除服務。

    在指令行上輸入指令


    imqsvcadmin remove
  3. 重新安裝服務,使用 -args 選項指定不同的代理程式啟動選項,或使用 -vmargs 選項指定不同的 Java 版本引數。

    例如,若要將服務的主機名稱與連接埠號變更為 broker17878,可以使用以下指令


    imqsvcadmin install -args "-name broker1 -port 7878"

使用替代 Java 執行階段

您可以使用 imqsvcadmin 指令的 -javahome-jrehome 選項,指定替代 Java 執行階段的位置。(您也可以在服務的 [內容] 對話方塊視窗中,從 [一般] 標籤下方的 [啟動參數] 欄位,指定這些選項。)


備註 –

[啟動參數] 欄位會將反斜線字元 (\) 視為退出字元,因此當您以反斜線作為路徑區隔字元時,必須輸入兩次:例如:

-javahome c:\\j2sdk1.4.0

顯示代理程式服務啟動選項

若要決定代理程式服務的啟動選項,請在 imqsvcadmin 指令中使用 query 選項,如範例 3–1 所示。


範例 3–1 顯示代理程式服務啟動選項


imqsvcadmin query

Service Message Queue Broker is installed.
Display Name: Message Queue Broker
Start Type: Automatic
Binary location: C:\\Sun\\MessageQueue\\bin\\imqbrokersvc.exe
JavaHome: c:\\j2sdk1.4.0
Broker Args: -name broker1 -port 7878


服務啟動問題疑難排解

如果在啟動當成 Windows 服務的代理程式時出現錯誤,可以檢視記錄的錯誤事件:

Procedure查閱記錄的服務錯誤事件

  1. 開啟 Windows [系統管理工具] 控制台。

  2. 啟動 [事件檢視器] 工具。

  3. 選擇 [應用程式事件記錄檔]。

  4. 從 [執行] 功能表選擇 [重新整理],以顯示任何錯誤事件。