• ベストアンサー

javaサーブレットから別サーバのバッチ起動

お世話になります。 現在、javaサーブレットからDBサーバにあるバッチを起動するプログラムを作成しております。 HPなどで色々調査したのですが実現方法が、よくわからず困っております。 参考となるHPやコーディング例がありましたら教えて頂けないでしょうか。 javaサーブレットの環境は、  centOS 5.5、jdk 1.6、tomcat 5.5となります。 お手数お掛け致しますが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • NARH
  • ベストアンサー率82% (88/107)
回答No.2

若干邪道ですが、お手軽な方法として ssh でキックしてしまう方法もあります。 参照URLのように正規に java で実行する方が柔軟な呼び出しができますが、 java.lang.Runtime.exec() で直接 ssh を呼び出してもいいかもしれません。 # この場合は pure java ではなくなるので、メンテナンス性を考えると邪道です。 Webからバッチをキックする場合は、2度押しなど複数キックされることもあるので、実際のバッチ担当者とうまく詰めて実装しないといけないですね。

参考URL:
http://d.hatena.ne.jp/n_shuyo/20060706/1152162198
kenken1917
質問者

お礼

ご回答ありがとうございます。 No.1の方の仰る通り実現方法は、たくさんあるのですね。 正規のjavaでの実行する方が、柔軟なようなので教えて頂いたURL参考にさせて頂きます。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

DBサーバもcentOS? 方法はいくつもあるわ。 その1) DBサーバにもTomcatを立ててバッチを起動するサーブレットを作成し APサーバからHttpConnectionでリクエストを投げる その2) ネットワーク越しに起動 (マウント) その3) DBサーバに常駐アプリを作成し、DBを監視。 APサーバからDBに起動するバッチとパラメータを書き込んで それを見つけたら起動。 その4) DBサーバにメールサーバを立ててそれの受信で起動 こんな具合にいろいろ考えられるわ。 でも大事なのは進行状態の確認とエラーが起きたときの通知方法よ。 そっちは大丈夫かしら。

kenken1917
質問者

お礼

早速のご回答誠にありがとうございます。 DBサーバのバッチは、別担当(会社)となり実行結果は、リターンコードなどを返して頂く事を考えております。 私が担当するサーブレットでは、処理結果をパラメータにしてバッチを起動するだけとなります。 上記の様な場合は、教えて頂いたその2の「ネットワーク越しに起動」の方法で対応したいと思います。

kenken1917
質問者

補足

情報が、不足しておりすみません。 DBサーバは、Red Hat EnterPrise Linux ES release4となります。

関連するQ&A