为代理服务器创建定制顾问程序
使用以下步骤对代理服务器创建并部署定制顾问程序。定制顾问程序策略可以更具体地确定目标应用程序服务器的可用性。定制顾问程序是在代理服务器中工作的已编写 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 - 应用程序编程接口”。会按字母顺序显示产品 API 规范列表。protected void initialize() { super.initialize(); }
创建定制顾问程序时,有两个异常类需要考虑:- CustomAdvisorException 可以由定制顾问程序的 isUsable 方法创建,以告知 AbstractCustomAdvisor 该定制顾问程序直到下一个顾问程序周期才能再次调用 isUsable 方法。
- NoLogConfiguredException 由 AbstractCustomAdvisor 创建(如果没有为定制顾问程序配置记录文件,但启用了记录功能)。
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,然后以代理服务器作为目标时,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 时,会使用此 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
- 配置已部署的定制顾问程序。 请参阅为代理服务器管理定制顾问程序,以获取更多详细信息。


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