プロキシー・サーバーのカスタム・アドバイザーの作成
以下のステップを使用して、カスタム・アドバイザーを作成し、プロキシー・サーバーにデプロイします。 カスタム・アドバイザー・ポリシーを使用すると、ターゲット・アプリケーション・サーバーの可用性をより具体的に判別できるようになります。 カスタム・アドバイザーとは、アプリケーション・サーバーの可用性についての情報をプロキシー・サーバー選択コードに提供するようにプロキシー・サーバー内で動作するように作成された Java™ コード・モジュールです。
このタスクについて
手順
- カスタム・アドバイザー・コードを作成します。 カスタム・アドバイザーは Java 言語で書き込まれます。カスタム・アドバイザーは、WebSphere® Application Server に含まれている proxy.jar ファイルの com.ibm.wsspi.advisor.AbstractCustomAdvisor クラスを拡張します。カスタム・アドバイザーは AbstractCustomAdvisor クラスの定義済みメソッドを使用して、アドバイザーについての情報を獲得します。 また、カスタム・アドバイザーは以下のエレメントも実装する必要があります。
- CustomAdvisorConfigObject オブジェクトを受け入れて super(caConfigObject) メソッドを呼び出す、以下のようなコンストラクター・メソッド。
public AbstractHttpProxyCustomAdvisor(CustomAdvisorConfigObject caConfigObject) { super(caConfigObject); }
- AdvisableServer オブジェクトを受け入れる、以下のような isUsable() メソッド。
public boolean isUsable(AdvisableServer aServer) throws CustomAdvisorException;
必須ルーチンおよびカスタム・アドバイザーで使用可能なその他のメソッドについて詳しくは、インフォメーション・センターのアプリケーション・プログラミング・インターフェース (API) の参照セクションを参照してください。 インフォメーション・センターのナビゲーションから、「参照」セクションにスクロールして、「API - アプリケーション・プログラミング・インターフェース (APIs - Application Programming Interfaces)」をクリックします。製品 API 仕様のリストが、アルファベット順に表示されます。protected void initialize() { super.initialize(); }
カスタム・アドバイザーを作成する際に、考慮する必要がある例外クラスが 2 つあります。- CustomAdvisorException は、カスタム・アドバイザーの isUsable メソッドで作成することができ、AbstractCustomAdvisor に対して、カスタム・アドバイザーが次のアドバイザー・サイクルまで isUsable メソッドを再度呼び出してはならないことを通知します。
- NoLogConfiguredException は、カスタム・アドバイザーに関してロギング・ファイルが構成されていないが、ロギングが有効になっている場合に、AbstractCustomAdvisor によって作成されます。
httpcustomadvisor.jar ファイルは、カスタム・アドバイザーのサンプルとして使用できます。 このファイルには、com.ibm.wsspi.advisor.AbstractCustomAdvisor を拡張し、isUsable() および initialize() メソッドを実装する AbstractHttpProxycustomAdvisor.java クラスが含まれています。
サンプル 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 パッケージの abstract custom advisor クラスにアクセスするには、ご使用の Java クラスパスに proxy.jar ファイルを追加します。proxy.jar ファイルは、${WAS_INSTALL_ROOT|/plugins ディレクトリーにあります。
- advisor-context.xml ファイルを作成します。
カスタム・アドバイザー・コードをコンパイルしたら、advisor-context.xml ファイルを作成する必要があります。このファイルは、コードがアセットとしてインポートされ、その後、ビジネス・レベル・アプリケーション (BLA) にコンパイル単位として追加されるときに、そのコードをカスタム・アドバイザーの Java アーカイブ (JAR) ファイルとして識別するために使用されます。 カスタム・アドバイザー JAR アセットが BLA に追加され、その後プロキシー・サーバーをターゲットにする場合は、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 ファイルにパッケージします。この JAR ファイルは、インストールしてプロキシー・サーバーにデプロイする、カスタム・アドバイザー BLA の作成時に使用されます。
以下は、カスタム・アドバイザーを 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
- デプロイ済みカスタム・アドバイザーを構成します。 追加情報については、プロキシー・サーバーのカスタム・アドバイザーの管理を参照してください。


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