配置 messaging REST API 的連線儲存區

您可以配置 messaging REST API可以使用的儲存連線數目上限,以及 messaging REST API 在所有連線都在使用中時的行為。

開始之前

若要完成此作業,必須是具有特定專用權的使用者,讓您可以使用 dspmqwebsetmqweb 指令:
  • [z/OS]z/OS®上,您必須具有執行 dspmqwebsetmqweb 指令的權限,以及對 mqwebuser.xml 檔案的寫入權。
  • [UNIX、Linux、Windows、IBM i]在所有其他作業系統上,您必須是 特許使用者
[z/OS]注意:

z/OS上發出 setmqwebdspmqweb 指令之前,您必須先設定 WLP_USER_DIR 環境變數,讓該變數指向您的 mqweb 伺服器配置。

若要設定 WLP_USER_DIR 環境變數,請發出下列指令:
export WLP_USER_DIR=WLP_user_directory
其中,WLP_user_directory 是傳遞至 crtmqweb 的目錄名稱。 例如:
export WLP_USER_DIR=/var/mqm/web/installation1

如需相關資訊,請參閱 建立 mqweb 伺服器

關於此作業

為了最佳化 messaging REST API的效能,會儲存 IBM® MQ 佇列管理程式的連線。 也就是說,每一個 REST 要求會使用連線儲存區中的連線,而不是建立、使用及刪除其自己的連線。 依預設,每一個佇列管理程式儲存區可以使用 20 個連線,當所有連線都在使用中時,您可以從三個選項中選擇處理要求:
  • messaging REST API 可以建立新的非儲存區連線,以用於要求。 此行為是預設行為。
  • messaging REST API 可能會傳回錯誤。
  • messaging REST API 可以等待儲存連線變成可用。 此等待是無限期等待。

當所有連線都在使用中,您可以使用 setmqweb properties 指令來變更儲存連線數目上限,以及 messaging REST API 的預設行為。

程序

  • 使用下列指令來檢視現行配置:
    dspmqweb properties -a
    • mqRestMessagingFullPoolBehavior 欄位顯示儲存區內所有連線都在使用中時 messaging REST API 的行為。 如果值為 block,則 messaging REST API 必須等待連線變成可用。 如果值為 error,則 messaging REST API 必須傳回錯誤。 如果值為 overflow,則 messaging REST API 必須建立要使用的非儲存區連線,並在使用之後刪除連線。
    • mqRestMessagingMaxPoolSize 欄位顯示連線儲存區的大小上限。
  • 使用下列指令,配置儲存區內所有連線都在使用中時 messaging REST API 的行為:
    setmqweb properties -k mqRestMessagingFullPoolBehavior -v action
    其中 action 指定要採取的動作。 action 可以是下列其中一個值:
    區塊
    當儲存區中的所有連線都在使用中時,請等待連線變成可用。
    error
    當儲存區中的所有連線都在使用中時,傳回錯誤。
    溢位
    當儲存區中的所有連線都在使用中時,請建立要使用的非儲存區連線,並在使用之後刪除連線。
  • 使用下列指令來配置每一個佇列管理程式儲存區的連線儲存區大小上限:
    setmqweb properties -k mqRestMessagingMaxPoolSize -v size
    其中 size 指定儲存區的大小。
    附註: 如果已設定 mqRestMessagingMaxPoolSize 的值較大,且已連接許多佇列管理程式,請考慮增加 mqweb 伺服器資料堆的大小上限。 如需相關資訊,請參閱 調整 mqweb 伺服器 JVM