S2RMI-Server
概要
S2RMIを利用したアプリケーションをサーバプロセスとして起動するためにS2RMI-Serverを利用することができます.
S2RMI-Serverは実行可能Jarを提供します.このJarファイルは配布ファイル中の以下のディレクトリにあります.
+- s2rmi-server/ +- lib/ +- s2rmi-server-x.x.x.jar
ディレクトリ構成
S2RMIサーバプロセスを実行する環境として,以下のようなディレクトリ構成を想定しています.
+- <base>/ +- classes/ | +- xxx.class | +- ... | +- config/ | +- xxx.dicon | +- ... | +- lib/ +- s2rmi-server-x.x.x.jar +- s2rmi-x.x.x.jar +- s2-framework-x.x.x.jar +- s2-extension-x.x.x.jar +- ...
S2RMIサーバプロセスのベースディレクトリには次のサブディレクトリを配置します.
classes
- アプリケーションのクラスファイルを配置します.
config
- diconファイル等のリソースを配置します.
lib
- S2RMIサーバプロセスの実行に必要なJarファイルを配置します.
コマンドライン
S2RMI-Serverを使ってサーバプロセスを起動するにはコマンドラインから次のように指定します.
java -jar lib/s2rmi-server-x.x.x.jar [--classpath pathlist] [--dicon diconfile]
標準クラスパス
S2RMI-Serverは自身の実行可能Jarファイルと同じディレクトリにあるJarファイルを自動的にクラスパスに設定します.
先のディレクトリ構成では,lib
以下にあるJarファイルが全て自動的にクラスパスに設定されます.
Jarファイルがどのような順序でクラスパスに設定されるかは不定です.
実行可能JarファイルではCLASSPATH
環境変数は無効であることに注意してください.
オプション引数
コマンドライン引数では次のオプションを指定することができます.
--classpath pathlist
-
追加のクラスパスリストを指定します.
クラスパスリストは複数のパス (ファイルまたはディレクトリ) をプラットフォーム固有のパス区切り文字 (Windowsではセミコロン(;),UNIX/Linuxではコロン(:)になります) で区切って指定することができます.
指定されたパスがディレクトリで,その直下に一つ以上のJarファイルが存在する場合は, そのディレクトリ直下に存在する全てのJarファイルがクラスパスに追加されます.
指定されたパスがディレクトリで,その直下にJarファイルが存在しなければ,そのディレクトリが クラスパスに追加されます.
指定されたパスがJarファイルであれば,そのファイルがクラスパスに追加されます.先のディレクトリ構成では,次のように
config
とclasses
を指定します.java -jar lib/s2rmi-server-x.x.x.jar --classpath config:classes
追加のクラスパスリストは標準クラスパスの前に設定されます. 上のように指定した場合,クラスパスの順序は次のようになります.
config
classes
lib/xxx.jar
lib/yyy.jar
lib/...
--dicon diconfile
-
アプリケーションのルートとなるdiconファイルを指定します.
省略すると
app.dicon
になります.
S2RMIサーバプロセスの停止
S2RMIサーバプロセスは複数の方法で停止することができます.
- Ctrl+Cによる停止
- S2RMIサーバプロセスをコンソールから起動した場合にはCtrl+Cにより プロセスを停止することができます.
- シグナルによる停止
-
UNIX/LinuxではS2RMIサーバプロセスにシグナルを送ることによってプロセスを停止することができます.
kill pid
- RMI呼び出しによる停止
-
S2RMIの提供するコンポーネントをRMIで呼び出すことによってプロセスを停止することができます.
クライアント側で次のコンポーネントをS2コンテナから取得あるいはS2コンテナにインジェクションしてもらい,
stop()
メソッドを呼び出します.org.seasar.remoting.rmi.service.S2RmiService
クラス
このコンポーネントはSMART deployでは自動登録されます.
SMART deployを使用しない場合は明示的に登録してください.