org.seasar.jms.server
クラス Main

java.lang.Object
  上位を拡張 org.seasar.jms.server.Main

public class Main
extends Object

S2JMS-Containerを利用したアプリケーションをサーバプロセスとして起動するブートストラップを提供するクラスです。

このクラスはS2JMS-Serverの提供する実行可能JarにおいてMain-Classに設定されることにより、 S2JMSサーバプロセスのエントリポイントとなります。

S2JMS-Serverはこのクラス自身を含むS2JMS-ServerのJarファイルと同じ位置にあるJarファイルをクラスパスに追加します。

S2JMS-Serverを起動する際にコマンドライン引数として以下の指定を行うことができます。

--classpath classpaths
追加のクラスパスを指定します。 classpathsはプラットフォームのパス区切り文字を使って複数のパスを指定することができます。 追加されたクラスパスは標準のクラスパスより前に設定されます。
指定されたパスがディレクトリの場合、そのディレクトリ直下にJarファイルが含まれていればそれらのJarファイルが全てクラスパスに追加されます。 ディレクトリ直下にJarファイルが含まれていなければそのディレクトリがクラスパスに追加されます。 指定されたパスがファイルの場合はそのファイルがクラスパスに追加されます。
--dicon diconfile
ルートとなるdiconファイルを指定します。省略するとapp.diconになります。

作成者:
bowez

フィールドの概要
protected static String BOOTSTRAP_CLASS_FILE_NAME
          このクラスのクラスファイル名
protected static String DEFAULT_DICON_FILE
          ルートdiconファイルのデフォルト名
protected static String JMS_CONTAINER_INITIALIZER
          S2JMS-Containerの初期化クラス名
protected static CountDownLatch latch
          シャットダウンフックと同期を取るためのラッチ
protected  Object s2container
          S2コンテナ
 
コンストラクタの概要
Main()
           
 
メソッドの概要
protected  void addPath(List<URL> urls, File path)
          クラスパスを表すURLの配列にパスを追加します。
protected  Object createS2Container(String dicon)
          S2コンテナを構築します。
protected  void destoryS2Container()
          S2コンテナを破棄します。
protected  String getArg(String name, String[] args)
          コマンドライン引数から指定されたキーに対応する値を返します。
protected  File getBootstrapJarFile()
          このクラスを含んでいるS2JMS-ServerのJarファイルを返します。
protected  String getClasspath(String[] args)
          コマンドライン引数で指定された追加のクラスパスを返します。
protected  String getDicon(String[] args)
          コマンドライン引数で指定されたdiconファイルのパス名を返します。
protected  File[] getJarFiles(File dir)
          指定されたディレクトリ直下にあるJarファイルの配列を返します。
protected  boolean isJar(File pathname)
          ファイルがJarならtrueを返します。
static boolean isWaiting()
          S2JMS-Serverプロセスのメインスレッドが待機中の場合はtrueを返します。
static void main(String[] args)
          S2JMS-Serverプロセスを開始します。
protected  void run(String[] args)
          S2JMS-Serverプロセスを開始し、シャットダウンまで待機します。
protected  void setupClasspath(String[] pathStrings)
          クラスパスを構築します。
static void stop()
          S2JMS-Serverプロセスを停止します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_DICON_FILE

protected static final String DEFAULT_DICON_FILE
ルートdiconファイルのデフォルト名

関連項目:
定数フィールド値

JMS_CONTAINER_INITIALIZER

protected static final String JMS_CONTAINER_INITIALIZER
S2JMS-Containerの初期化クラス名

関連項目:
定数フィールド値

BOOTSTRAP_CLASS_FILE_NAME

protected static final String BOOTSTRAP_CLASS_FILE_NAME
このクラスのクラスファイル名


latch

protected static CountDownLatch latch
シャットダウンフックと同期を取るためのラッチ


s2container

protected Object s2container
S2コンテナ

コンストラクタの詳細

Main

public Main()
メソッドの詳細

main

public static void main(String[] args)
S2JMS-Serverプロセスを開始します。

パラメータ:
args - コマンドライン引数

stop

public static void stop()
S2JMS-Serverプロセスを停止します。


isWaiting

public static boolean isWaiting()
S2JMS-Serverプロセスのメインスレッドが待機中の場合はtrueを返します。

戻り値:
S2JMS-Serverプロセスのメインスレッドが待機中の場合はtrue

run

protected void run(String[] args)
            throws Exception
S2JMS-Serverプロセスを開始し、シャットダウンまで待機します。

パラメータ:
args - コマンドライン引数
例外:
Exception - S2JMS-Serverプロセスの初期化中に例外が発生した場合にスローされます

createS2Container

protected Object createS2Container(String dicon)
                            throws Exception
S2コンテナを構築します。

パラメータ:
dicon - ルートとなるdiconファイルのパス名
戻り値:
S2コンテナ
例外:
Exception - S2コンテナの作成中に例外が発生した場合にスローされます

destoryS2Container

protected void destoryS2Container()
S2コンテナを破棄します。


getDicon

protected String getDicon(String[] args)
                   throws IllegalArgumentException
コマンドライン引数で指定されたdiconファイルのパス名を返します。

コマンドライン引数でパスが指定されなかった場合はデフォルトのapp.diconを返します。

パラメータ:
args - コマンドライン引数
戻り値:
diconファイルのパス名
例外:
IllegalArgumentException - コマンドライン引数が不正の場合にスローされます

getClasspath

protected String getClasspath(String[] args)
                       throws IllegalArgumentException
コマンドライン引数で指定された追加のクラスパスを返します。

コマンドライン引数で追加のクラスパスが指定されなかった場合はデフォルトの.を返します。

パラメータ:
args - コマンドライン引数
戻り値:
追加のクラスパス
例外:
IllegalArgumentException - コマンドライン引数が不正の場合にスローされます

getArg

protected String getArg(String name,
                        String[] args)
コマンドライン引数から指定されたキーに対応する値を返します。

パラメータ:
name - コマンドライン引数の名前
args - コマンドライン引数
戻り値:
コマンドライン引数

setupClasspath

protected void setupClasspath(String[] pathStrings)
                       throws IOException
クラスパスを構築します。

パラメータ:
pathStrings - クラスパス文字列
例外:
IOException - IO処理中に例外が発生した場合にスローされます

getBootstrapJarFile

protected File getBootstrapJarFile()
このクラスを含んでいるS2JMS-ServerのJarファイルを返します。

戻り値:
このクラスを含んでいるS2JMS-ServerのJarファイル

addPath

protected void addPath(List<URL> urls,
                       File path)
                throws IOException
クラスパスを表すURLの配列にパスを追加します。

パスがディレクトリの場合で、そのディレクトリ直下にJarファイルが存在する場合はそれらJarファイル全てがクラスパスに追加されます。 パスがディレクトリの場合で、そのディレクトリ直下にJarファイルが存在しない場合はそのディレクトリ自身が暮らすパスに追加されます。 パスがファイルの場合はそのファイルがクラスパスに追加されます。

パラメータ:
urls - クラスパスを表すURLの配列
path - ディレクトリまたはファイルを表すパス
例外:
IOException - IO処理中に例外が発生した場合にスローされます

getJarFiles

protected File[] getJarFiles(File dir)
指定されたディレクトリ直下にあるJarファイルの配列を返します。

パラメータ:
dir - ディレクトリ
戻り値:
Jarファイルの配列

isJar

protected boolean isJar(File pathname)
ファイルがJarならtrueを返します。

パラメータ:
pathname - ファイル
戻り値:
ファイルがJarならtrue


Copyright © 2005-2009 The Seasar Foundation. All Rights Reserved.