請利用這個頁面來配置 Java™ Object Request Broker (ORB) 服務。
若要檢視這個管理主控台頁面,請按一下伺服器 > 伺服器類型 > WebSphere Application Server > server_name > 儲存器服務 > ORB 服務。
您可以利用好幾種設定,來控制內部的 Object Request Broker (ORB) 處理程序。 如果應用程式含有 Enterprise Bean,您可以利用這些設定來提昇應用程式的效能。您可以針對預設伺服器或配置在管理網域中的任何應用程式伺服器,來變更這些設定。
指定要求訊息逾時之前的等待秒數。
如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.RequestTimeout。
資料類型 | int |
單位 | 秒 |
預設值 | 180 |
範圍 | 0 - Java 所能辨識的最大整數 |
指定在伺服器失敗時,ORB 試圖傳送要求的次數。重試有時會使暫時性網路復原失敗。 對於 z/OS® 平台,將忽略這個欄位。
如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.requestRetriesCount。
資料類型 | int |
預設值 | 1 |
範圍 | 1 至 10 |
指定要求重試之間的毫秒數。對於 z/OS 平台,將忽略這個欄位。
如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.requestRetriesDelay。
資料類型 | int |
單位 | 毫秒 |
預設值 | 0 |
範圍 | 0 至 60,000 |
指定在 ORB 開始從快取記憶體中移除非作用中的連線之前,佔用 ORB 連線快取記憶體的項目數上限。 對於 z/OS 平台,將忽略這個欄位。
快取記憶體的作用中連線數目,可能會暫時超出這個臨界值。 在必要的時候,只要資源充足,ORB 會繼續新增連線。
若要在指令行 Scripting 中使用,這個系統內容的完整名稱就是 com.ibm.CORBA.MaxOpenConnections。
資料類型 | 整數 |
單位 | 連線 |
預設值 | 240 |
範圍 | 10 - Java 所能辨識的最大整數 |
指定 ORB 連線快取記憶體中的項目數下限。 對於 z/OS 平台,將忽略這個欄位。
當項目數低於這個值時,ORB 不會移除非作用中的連線。
若要在指令行 Scripting 中使用,這個系統內容的完整名稱就是 com.ibm.CORBA.MinOpenConnections。
資料類型 | 整數 |
單位 | 連線 |
預設值 | 100 |
範圍 | 比指定給「連線快取記憶體上限」內容的值至少小 5 的任何整數。 |
啟用 ORB「一般交互 ORB 通訊協定」(GIOP) 訊息的追蹤。
這項設定會影響兩個系統內容:com.ibm.CORBA.Debug 和 com.ibm.CORBA.CommTrace。 如果您透過指令行 Scripting 來設定這些內容,您必須將這兩個內容都設成 true,才能啟用 GIOP 訊息的追蹤。
資料類型 | 布林 |
預設值 | 未啟用 (false) |
指定 LocateRequest 訊息逾時之前的等待秒數。對於 z/OS 平台,將忽略這個欄位。
如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.LocateRequestTimeout。
資料類型 | int |
單位 | 秒 |
預設值 | 180 |
範圍 | 0 至 300 |
控制用戶端 ORB 如何嘗試使用 HTTP 通道作業。對於 z/OS 平台,將忽略這個欄位。
如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.ForceTunnel。
資料類型 | 字串 |
預設值 | NEVER |
範圍 | 有效值如下:ALWAYS、NEVER 或 WHENREQUIRED。 |
指定在支援 HTTP 通道作業時,所使用的 Servlet 網址。在 z/OS 平台上,將忽略這個欄位。
這個網址必須有適當的格式:
http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet
如果是 Applet:http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet。
如果設定了 HTTP 通道作業,則這個欄位是必要的。如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.TunnelAgentURL。
指定 ORB 如何傳遞參數。 如果啟用,ORB 會依參照而不是依值傳遞參數,如此即可避免複製物件。如果您未啟用「依參照傳遞」選項,就會傳遞參數的複本,而不是參數物件本身。 成本可能會很高,因為 ORB 必須先複製每個參數物件。
只有在 Enterprise JavaBeans™ (EJB) 用戶端和 EJB 是在相同類別載入器時,您才能使用這個選項。 這項需求表示 EJB 用戶端和 EJB 必須部署在相同 EAR 檔中。
如果 Enterprise JavaBeans (EJB) 用戶端和伺服器安裝在相同實例或產品中,且用戶端和伺服器使用了遠端介面,啟用「依參照傳遞」選項最多可以提昇 50% 的效能。 只有在將非初始物件類型當成參數來傳遞時,「依參照傳遞」選項才能改善效能。因此,不論呼叫模型為何,一律會複製 int 和 float。
如果您使用指令行 Scripting,這個系統內容的完整名稱是 com.ibm.CORBA.iiop.noLocalCopies。
資料類型 | 布林 |
預設值 | 未啟用 (false) |
將 Enterprise Bean 的這個選項用於遠端介面,會違反 Enterprise JavaBeans (EJB) 規格 2.0 版(請參閱 5.4 節)。 不會複製傳遞給 Enterprise JavaBeans (EJB) 方法或 EJB Home 方法的物件參照,且有可能毀損。
Iterator iterator = collection.iterator(); MyPrimaryKey pk = new MyPrimaryKey(); while (iterator.hasNext()) { pk.id = (String) iterator.next(); MyEJB myEJB = myEJBHome.findByPrimaryKey(pk); }
在這個範例中,每次都利用不同的 ID 值,將指向相同 MyPrimaryKey 物件的參照傳入產品。 如果執行這個程式碼時啟用了「依參照傳遞」,應用程式伺服器內會發生問題,原因是多個 Enterprise Bean 會參照同一個 MyPrimaryKey 物件。要避免這個問題,請於啟用「依參照傳遞」選項時,將 com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation 系統內容設定為 true。 將「依參照傳遞」選項設定為 true 會使 EJB 儲存器建立 PrimaryKey 物件的本端複本。不過,這會喪失少部分設定「依參照傳遞」選項的效能優點。
一般而言,您必須詳細檢查將物件參照當作參數來傳給 Enterprise Bean 方法或 EJB Home 方法的任何應用程式碼,以判定傳遞這個物件參照是否會導致遺失資料完整性或發生其他問題。
在檢查程式碼之後,您可以將 com.ibm.CORBA.iiop.noLocalCopies 系統內容設定為 true,來啟用「依參照傳遞」選項。 您也可以在管理主控台中啟用「依參照傳遞」選項。 請按一下伺服器 > 伺服器類型 > 應用程式伺服器 > server_name > 儲存器服務 > ORB 服務,然後選取依參照傳遞。