This discussion is archived
1 Reply Latest reply: Feb 17, 2011 12:18 AM by hidetoshi.futagawa RSS

WebLogic11gのWindowsサービス化について

837723 Newbie
Currently Being Moderated
WebLogic11g(10.3.3.0)を使用しています。

マニュアル(winservice.html)を参考にサーバインスタンスをシャットダウンするJavaClass(Example3-2)を作成しているのですが、
コンパイルが出来ません。

メッセージは
weblogic.server.ServerStates を解決できません。必要な .class ファイルから間接的に参照されています
weblogic.management.runtime.RuntimeMBean を解決できません。必要な .class ファイルから間接的に参照されています
どうも、
weblogic.management.runtime.ServerStatesがweblogic.server.ServerStatesを継承しているようですが、
wlserver_10.3\server\libにあるweblogic.jarの中にはweblogic.server.ServerStatesが存在しない為に
コンパイルできないようです。

同様にServerRuntimeMBeanがRuntimeMBeanを継承しているようですが、
weblogic.jarの中にはRuntimeMBeanが存在していません。

取り敢えずWebLogic10.2のweblogic.jarも持ってくるとコンパイルは出来たのですが、
実環境では当然動かないわけです。

WebLogic10.2のweblogic.management.runtime.ServerStatesはweblogic.server.ServerStatesを継承していないようです。
ここらへんで11gのweblogic.jarに問題があるのでしょうか?。

このクラス(Example3-2)を作成しないと、サービス停止時に環境が壊れる可能性もあると書かれているので、
困っています。

したいことは、管理サーバ、管理対象サーバのサービス化なのですが、
だれが、良い方法をご教授お願いできないでしょうか。

Edited by: user13183923 on 2011/02/07 23:07
  • 1. Re: WebLogic11gのWindowsサービス化について
    hidetoshi.futagawa Newbie
    Currently Being Moderated
    WLS10.3.3の場合、weblogic.server.ServerStates は %WL_HOME%\server\lib\weblogic.jar の中ではなく、
    %MW_HOME%\modules\com.bea.core.weblogic.lifecycle_1.4.0.0.jar の中にあります。

    weblogic.jar内のMETA-INF/MANIFEST.MFの中でマニフェストクラスパスを連鎖させることによりmodules配下
    の各種jarにはクラスパスが通るようになっています。
    ただし、weblogic.jarのあるディレクトリからの相対パスで通してあるので、weblogic.jarだけを別の場所にコピー
    してクラスパスに入れるだけでは、そのプログラムのコンパイルは通らないはずです。
    WLSをインストールした場所のweblogic.jarをそのままクラスパスに入れていればコンパイルは通るはずです。

    1つのjarだけで完結したい場合は、以下のマニュアルの手順でwlfullclient.jar を作成してクラスパスに入れてください。
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13717/jarbuilder.htm#BABCGHFH

    ところで、管理サーバ/管理対象サーバをWindowsサービス化は必須なのでしょうか?
    WLSインスタンス自身ではなく、ノードマネージャをWindowsサービス化して、ノードマネージャ経由で管理サーバ、
    管理対象サーバを起動/停止管理するほうがより一般的な方法だと思います。

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points