[AIX HP-UX Linux Solaris Windows]

例: WAS advisor の実装

以下の例では、カスタム advisor を実装する方法について示します。

WebSphere Application Server のサンプル・カスタム advisor は、install_root/servers/samples/CustomAdvisors/ ディレクトリーに 入っています。完全なコードは、ここでは掲載しません。次のものが実装されることを確認してください。

完全な advisor は、サンプルよりもわずかばかり複雑です。これにより、例: advisor から戻されるデータの使用トピックで 示されている StringTokenizer の例よりもコンパクトな特殊構文解析ルーチンが追加されます。

サンプル・コードの複雑な部分は、Java サーブレットに収められています。このサーブレットには、他の多くのメソッドの中でも、 サーブレット仕様で必要とされる init() と service() という 2 つのメソッドと、Java.lang.thread クラスで必要とされる run() という 1 つの メソッドが入っています。
サーブレット・コードの関連フラグメントは、次のようになります。
...
  public void init(ServletConfig config) throws ServletException { 
    super.init(config); 
    ... 
    _checker = new Thread(this); 
    _checker.start(); 
  } 

    public void run() {
    setStatus(GOOD);
    while (true) { 
      if (!getKeepRunning()) 
        return; 
            setStatus(figureLoad());
      setLastUpdate(new java.util.Date());
    try {
        _checker.sleep(_interval * 1000);
} catch (Exception ignore) { ; } 
  } 
} 

public void service(HttpServletRequest req, HttpServletResponse res) 
                    throws ServletException, IOException { 
  ServletOutputStream out = null; 
  try {
out = res.getOutputStream(); 
  } catch (Exception e) { ... } 
  ... 
  res.setContentType("text/x-application-LBAdvisor"); 
  out.println(getStatusString()); 
  out.println(getLastUpdate().toString()); 
  out.flush(); return; 
} 
... 



関連資料
例: サンプル advisor
参照トピック 参照トピック    

ご利用条件 | フィードバック

最終更新最終更新: Jun 21, 2011 12:49:06 PM EDT
ファイル名: rprf_advexwas.html