home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2006/11/06/WebLogicのServletでディレクトリ指定無しのファイル出力位置は?

日記/2006/11/06/WebLogicのServletでディレクトリ指定無しのファイル出力位置は?

日記 / 2006 / 11 / 06 / WebLogicのServletでディレクトリ指定無しのファイル出力位置は?
id: 293 所有者: msakamoto-sf    作成日: 2006-11-06 10:25:01
カテゴリ: Java 

仕事の関係上、WebLogicのServletから、ディレクトリ指定無しでファイルを書き込んだとき、そのファイルはどこに作成されるのか調べる必要が発生した。

取り急ぎ実験用のServletを組み、実際にどこに出力されるのか確認してみる。

PrintWriter fout = null;
try {
    fout = new PrintWriter(new FileWriter("abc.txt", true));
    fout.println("aaaaa" + System.currentTimeMillis());
} catch(Exception e) {
    e.printStackTrace(out);
} finally {
    try { fout.close(); } catch(Exception e) {}
}

実験してみたところ、どうやらいわゆる$DOMAIN_HOMEに出力されているようである。特に意識せずインストールした場合は、/opt/bea/user_projects/domains/(ドメイン名)/以下、といったところか。

実際問題、起動スクリプトを叩いたのはWebLogicを実行可能なユーザーのホームディレクトリ上であるが、作成されたのはDOMAIN_HOMEである。

これは、$DOMAIN_HOME/bin/setDomainEnv.sh(cmd)で

Win:
pushd %LONG_DOMAIN_HOME%
Unix:
pushd ${LONG_DOMAIN_HOME}

として実装されている。・・・ご丁寧に、Win/Unix共にシェルスクリプト内でpushd/popdが独自実装されている。非常に興味深い。

以上より、特にsetDomainEnv.shを弄っていない限り、ディレクトリ指定無しのカレントディレクトリは$DOMAIN_HOMEとなる事が分かった。・・・当然、$DOMAIN_HOMEにはロックファイルの作成権限があるため、すくなくともカレントディレクトリ(=$DOMAIN_HOME)自体には書き込み権限があるということになる。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-05 10:27:29
md5:ecb736b0a5089d8e49db338da44217ef
sha1:89bf14a1fd6eb05ec945696597e6ef02774339c7
コメント
コメントを投稿するにはログインして下さい。