為 Proxy 伺服器建立自訂顧問
請使用下列步驟,來建立自訂顧問,並部署至 Proxy 伺服器。自訂顧問原則可讓您更明確地判斷目標應用程式伺服器的可用性。自訂顧問以 Java™ 程式碼模組寫成,並在 Proxy 伺服器內運作,以提供應用程式伺服器的可用性相關資訊給 Proxy 伺服器選擇碼。
關於這項作業
程序
- 建立自訂顧問程式碼。 自訂顧問是以 Java 語言寫成。自訂顧問是 com.ibm.wsspi.advisor.AbstractCustomAdvisor 類別的延伸,該類別位於 WebSphere® Application Server 隨附的 proxy.jar 檔中。自訂顧問使用所定義的 AbstractCustomAdvisor 類別方法,來取得顧問的相關資訊。自訂顧問也必須實作下列元素:
- 會取得 CustomAdvisorConfigObject 物件並呼叫
super(caConfigObject) 方法的建構子方法,例如:
public AbstractHttpProxyCustomAdvisor(CustomAdvisorConfigObject caConfigObject) { super(caConfigObject); }
- 會取得 AdvisableServer 物件的 isUsable() 方法;例如:
public boolean isUsable(AdvisableServer aServer) throws CustomAdvisorException;
如需自訂顧問的必要常式和其他可用方法的相關資訊,請參閱資訊中心的應用程式設計介面 (API) 參照區段。請從資訊中心導覽,捲動至「參照」區段,並按一下「API - 應用程式設計介面」。這時會依英文字母順序,顯示產品 API 規格清單。protected void initialize() { super.initialize(); }
在建立自訂顧問時,需考量下列兩個異常狀況類別:- 自訂顧問的 isUsable 方法可能建立 CustomAdvisorException,以告知 AbstractCustomAdvisor,在下次顧問循環之前,自訂顧問不得再次呼叫 isUsable 方法。
- 如果未配置自訂顧問的日誌檔,但卻啟用了記載功能,AbstractCustomAdvisor 會建立 NoLogConfiguredException。
httpcustomadvisor.jar 檔可作為自訂顧問的範例。這個檔案包含 AbstractHttpProxycustomAdvisor.java 類別,它是 com.ibm.wsspi.advisor.AbstractCustomAdvisor 的延伸,且會實作 isUsable() 和 initialize() 方法。
httpcustomadvisor.jar 範例檔:<advisor-context> <description>Webbsphere Proxy Demo HTTP Advisor Context</description> <display-name>Webbsphere Proxy Demo HTTP Advisor Context</display-name> ? <advisor> <advisor-name>WebsphereProxyDemoHttpAdvisor</advisor-name> ? <advisor-class> com.ibm.ws.proxy.demo.customadvisor.http.HttpProxyCustomAdvisor </advisor-class> <description>Demo Websphere Proxy Http Advisor Implementation</description> <display-name>Demo Websphere Proxy Http Advisor</display-name> </advisor> </advisor-context>
- 會取得 CustomAdvisorConfigObject 物件並呼叫
super(caConfigObject) 方法的建構子方法,例如:
- 編譯您的自訂顧問程式碼。 為自訂顧問建立 Java 原始碼之後,必須使用 WebSphere Application Server 隨附的 AbstractCustomAdvisor 程式碼來編譯它。如果要存取 com.ibm.wsspi.advisor 套件中的自訂顧問抽象類別,請將 proxy.jar 檔新增至 Java 類別路徑。proxy.jar 檔位於 ${WAS_INSTALL_ROOT|/plugins 目錄中。
- 建立 advisor-context.xml 檔。
編譯自訂顧問程式碼之後,您需要建立 advisor-context.xml 檔。當您將程式碼當成資產匯入,並當成編譯單元新增到商業層次應用程式 (BLA) 時,會使用這個檔案,將程式碼識別為自訂顧問 Java 保存檔 (JAR)。當將自訂顧問 JAR 資產新增至 BLA,並以 Proxy 伺服器為目標時,Content DistributionFramework (CDF) 支援會將自訂顧問的所有 BLA 構件,配送和複製到指定目標上的適當配置資訊中。
advisor-context.xml 含有要執行的自訂顧問類別名稱,以及自訂顧問的名稱。advisor-context.xml 檔的格式必須遵循 proxy.jar 檔中的 advisor-contex.xsd 綱目。您可以使用 XML 綱目工具,來協助您建立和設定適當的資訊。必要配置資訊是定義成如下:<advisor-name> SomeCustomAdvisor </advisor-name> <advisor-class> com.ibm.wlm.test.customadvisor.SomeCustomAdvisor </advisor-class> <description> Some Custom Advisor Description </description> <display-name> Some display name </display-name>
- 建立自訂顧問 BLA。 將已編譯的自訂顧問類別檔和
advisor-context.xml 包裝成 JAR 檔。之後當建立自訂顧問 BLA 以便安裝和部署至 Proxy 伺服器時,就會使用這個 JAR 檔。下列範例顯示的指令用來將自訂顧問安裝成 BLA。
$AdminTask importAsset {-source C:/proxy/testadvisor.jar -storageType FULL} $AdminTask createEmptyBLA {-name myBLA} $AdminTask addCompUnit {-blaID myBLA -cuSourceID assetname=testadvisor.jar,assetversion=1.0 -MapTargets {{.* ProxyServer}} -CustomAdvisorCUOptions {{"type=Cluster,cellName=yourCellName,clusterName=yourClusterName ,applicationName=myBLA" default default default 1000}}} $AdminConfig save
- 配置您所部署的自訂顧問。 如需其他詳細資料,請參閱管理 Proxy 伺服器的自訂顧問。
相關概念:
相關工作:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjpx_custadv_create
檔名:tjpx_custadv_create.html