• ベストアンサー

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

  • サーブレットを動せるレンタルサーバについて

    サーブレットを動せるレンタルサーバについて 現在、ロリポップ(チカッパプラン)という月額500円程度の(PHPやMySQLが使える)レンタルサーバを借りていますが、共用サーバですのでサーブレットが動かせないです。(tomcatやJDKをインストールすること自体不可能) そこでレンタルサーバでサーブレットを動かそうとする場合、高価な専用レンタルサーバを借り、 tomcatのインストールやJDKの設定を全部自分でやらないといけないのでしょうか? 最初から既にサーブレットが動く環境(Apache+tomcat)がデフォルトで用意されすぐに利用できるようなレンタルサーバは通常ないものでしょうか? 現在、ローカル環境を2つ構築しており、(2)のようなサーブレットが動作する環境が最初から整ったレンタルサーバがないものかと考えています。 普通はレンタルサーバを借りてサーブレットを動かそうとすれば、tomcatやらJDKやら自分で専用サーバにインストール&設定するものなんでしょうか?それ以外に手法はありますか? ローカル環境は2つ構築していています。 (1) windows7 Xampp(Apache2.2+tomcat7連携)JDK6 (2) 自宅サーバ:centOS5.6 Apache2.2+tomcat5.5連携 JDK5 

  • Javaサーブレット

    Javaサーブレットの初心者です。 「標準 MySQL 改訂第3版」(2007,3月発行)という本でMySQLを勉強しようと始めたのですが、それ以前の場所で詰まってしまいました。 本の流れは  Apache,MySQL,Tomcat,J2SEをインストール → Apacheの動作確認 → Tomcatの動作確認 → ApacheとTomcatを連携させる。(ここまでは正常に動いています。)→Javaサーブレットの動作確認 ここでブラウザから http://localhost/java/Test と入力すると 「Hello Java」と表示されるはずなのですが HTTPステータス 404 - /java/Test というエラー画面になってしまい、表示されません。 すべて本に書いてあるとおりにやりました。 ファイルの中身なども何度も見直しました。 なぜ表示されないのか教えてください。 お願いします。

  • Javaサーブレット

    Javaサーブレットの初心者です。 「標準 MySQL 改訂第3版」(2007,3月発行)という本でMySQLを勉強しようと始めたのですが、それ以前の場所で詰まってしまいました。 本の流れは  Apache,MySQL,Tomcat,J2SEをインストール → Apacheの動作確認 → Tomcatの動作確認 → ApacheとTomcatを連携させる。(ここまでは正常に動いています。)→Javaサーブレットの動作確認 ここでブラウザから ​http://localhost/java/Test​ と入力すると 「Hello Java」と表示されるはずなのですが HTTPステータス 404 - /java/Test というエラー画面になってしまい、表示されません。 すべて本に書いてあるとおりにやりました。 ファイルの中身なども何度も見直しました。 なぜ表示されないのか教えてください。 お願いします。

  • Java、サーブレットについて

    JavaをHP上で動かしたいです。 どうすればいいですか? hpは、fc2の無料のものを借りています。 アプレットはプラグインがサポートされていないので動きませんでした。 サーブレットを実行すれば、Webページをつくることができると思いますが、それはfc2のホームページとはどう違うのでしょうか? ちなみに、サーバーの知識があいまいです。 ユーザーがリクエストして...などは分かるのですが、サーバーというものはどこにあって、レンタルサーバーを借りるということはどういうことなのか?がいまいちわかりません。 目的は、Web上でJavaのプログラムを表現することです。 お詳しい方どうか教えてください。

  • Java(サーブレット)コンパイル用バッチファイルの作成

    Java(サーブレット)コンパイル用バッチファイルの作成 Java(サーブレット)コンパイル用バッチファイルの作成を以下のサンプルファイルを見ながら行いました。 @set CLASSPATH=C:\servletbook\apache-tomcat\common\lib\servlet-api.jar javac -sourcepath src -d classes src/%1 そもそもバッチファイルがよく分かっていないのですが、ヒントを頂きたいと思い質問します。 このバッチファイルを使用して、srcディレクトリ内のxxx.javaファイルのコンパイルは出来るのですが、src/fooディレクトリ内のxxx.javaファイルもコンパイルするためにはバッチファイルソースのどこを変更すれば良いでしょうか? また、src配下のすべてのディレクトリ内にあるxxx.javaファイルをコンパイル出来るようにするにはどうすれば良いでしょうか? ご教授をお願いします。<(_ _)>

    • ベストアンサー
    • Java
  • JAVAサーブレット/JSP

    今年の4月に入社して、1か月JAVAをやってきました。そして 5月2に上司からJAVAサーブレット/JSPの資料を渡されて勉強しているのですが、実際にプログラミングをするのはJSPだけでいいのでしょうか? いま、家ではtomcatを使用しているのですが、仕事ではtomcatを使う機会はありますか?

    • ベストアンサー
    • Java
  • javaが起動できない

    初めまして、JAVAの勉強のために環境つくりをしていますが、いきずまって質問しました。 現在VM PlayerにLinux8をいれてAPサーバとしてTomcat、JDKインストール後、JAVAの動作確認「java -version」をすると 「cannot handle file '/usr/java/jdk1.7.0/jre/lib/i386/client/libjvm.so' with TLS data」と怒られます。 そのため、tomcatも起動できず困っています。 どなたか、原因がわかる方がいればご教授お願いします。 【環境】 OS:WindowsXP VM:VMware(R) Player 3.1.4 build-385536    ・Red Hat Linux release 8.0 (Psyche) ・jdk-7-linux-i586.rpm    ・apache-tomcat-7.0.20.tar.gz

  • javaサーブレットからのoracle接続エラー

    お世話になります。 javaサーブレットからoracleに接続する際、以下のエラーが発生して困っております。 エラー:java.sql.SQLRecoverableException: クローズされた接続です。 解決するための情報を頂けますでしょうか。 私がテストしている環境は、以下となります。 【Webサーバ】 centOS5.5. jdk1.6 tomcat5.5 【DBサーバ】 centOS5.5. oracle10g r2 jdbcドライバーは、ojdbc6.jarを使用しております。 サーブレット起動時にDB接続し処理完了時にDBクローズしていますが、DBクローズ処理にて 上記エラーが、発生してしまいます。 DB接続及びDBクローズは、以下のようにプログラミングしております。 /** * 概要 : DBアクセス * 処理 : DBアクセス */ public void dbAccess() throws Exception { conn = null; try { DriverManager.setLogWriter(new PrintWriter(System.out)); Class.forName(driver); conn = DriverManager.getConnection( jdbcPrefix + hotname + dbname, username,password); // 自動コミット・モードを設定(手動コミット) conn.setAutoCommit(false); }catch (SQLException e) { throw e; }catch (Exception e) { throw e; } } /** * 概要 : DBクローズ * 処理 : DBを閉じます。 */ public void dbClose() throws Exception { try { if (conn != null) conn.close(); }catch (Exception e) { throw e; } } お手数お掛け致しますが、ご教授宜しくお願い致します。

    • ベストアンサー
    • Java
  • JavaアプレットはWebブラウザ上で動作し、Javaサーブレットはサ

    JavaアプレットはWebブラウザ上で動作し、Javaサーブレットはサーバー上で動き、Javaアプリケーションは単独で動作するということは理解しました。 以上の3つには機能的な違いがありますか? JavaアプリケーションにはあってJavaアプレットには無いもの、Javaサーブレットにあって、Javaアプレットには無いもの、JavaサーブレットにあってJavaアプリケーションには無いものなど、もっと詳しく知りたいです。参考の本などもお待ちしています。皆さんの知恵をお貸しください。よろしくおねがいします。

    • ベストアンサー
    • Java
  • サーブレット実行時のエラー

    サーブレットを実行したときにTomcatでこのようなエラーが出てしまいます。 http://aohina.boy.jp/err.bmp クラスパス&パスはすべて通してあり、http://localhost:8080/には接続できますのでTomcatは動いてると思います。 Tomcatのバージョン:5.5.9 Javaのバージョン:jdk1.5.0_02 ここを参考にサンプルプログラムを作ろうと思ってます。 http://www.hellohiro.com/servlet.htm

    • ベストアンサー
    • Java