- PR -

JavaServiceで標準エラー出力をファイルに落とせない

1
投稿者投稿内容
やじゅう
常連さん
会議室デビュー日: 2005/08/10
投稿数: 34
お住まい・勤務地: 野獣の住処
投稿日時: 2007-02-27 14:55
ソケットで受信したデータをファイルへ出力するアプリを作成し、JavaServiceでNTサービス化しました。受信とファイル出力は問題なくできています。

問題は、サービスとして登録する際に、-errオプションで標準エラー出力先ファイルを指定したのですが、エラーデータ受信時にコールしているSystem.err.println()の結果が、全く出力されません。あらかじめ空ファイルを用意しておいても同じです。

何か単純なミスだと思うのですが、なかなか脱出できません。何かヒントを頂けると、幸いです。
環境はWindowsXP SP2 + jdk 1.5.0_09です。
だっちょ
大ベテラン
会議室デビュー日: 2006/12/05
投稿数: 115
投稿日時: 2007-02-27 17:33
JavaServiceは使ったことがないので、単に見ただけですが、http://javaservice.objectweb.org/js_doc_frame.html
のFAQにある
How can I monitor what the program is doing?
にかいてあることが少し関係あるかもしれません。
(よく理解できないので説明できません)

 ただ、私ならアクセサリ->システムツール->タスクで
-Xrsオプションでjavaコマンドを起動するbatchファイルを登録しておくとログアウトしても動くので、それで十分と思ってますが。
やじゅう
常連さん
会議室デビュー日: 2005/08/10
投稿数: 34
お住まい・勤務地: 野獣の住処
投稿日時: 2007-02-27 18:35
> -Xrsオプションでjavaコマンドを起動するbatchファイルを登録しておくとログアウトしても動くので、それで十分と思ってますが。

おお、そんな方法もあるのですね。
ファイルの書き込み中にシャットダウンがあった場合はどうするのかな、と思って調べてみたら、シャットダウンフックというのがあるのですね。NTサービスの作法しか頭にありませんでした。

良いヒントをありがとうございます。もう少し調べてみます。
1

スキルアップ/キャリアアップ(JOB@IT)