• ベストアンサー

Tomcatのクラスパス

sasadoraの回答

  • ベストアンサー
  • sasadora
  • ベストアンサー率68% (59/86)
回答No.3

>10分ぐらいかかるbatch処理を動かしたいのですが、 >ブラウザを砂時計にしたくない為、非同期にバックグラウンドでbatch処理を動かそうと思いRuntime.exec()を使用しようと思ったのですが、 Threadを使って別スレッドで処理をするのが普通だと思います。 Runtime.exec()を使うのも一つの手ではありますが、 リクエストの度にプロセスが生成されてしまうので、 サーバに負荷がかかります。 ServletのdoGetやdoPostなどで、スレッドを生成して、生成されたThreadの中で、時間のかかる処理を 行なえば、良いと思います。

matchori
質問者

お礼

今回は頻度が少ないので大丈夫かと思いますが、 普通はTheredということで勉強してみます。 ありがとうございました。

関連するQ&A

  • サーブレットのクラスパス追加について

    Tomcatを用いたWebアプリケーション作成についてご質問させてください。 Webアプリケーション実行時に読み込まれるクラスパスを任意に追加することは可能でしょうか。標準では{CONTEXT_ROOT}/WEB-INF/classesと{CONTEXT_ROOT}/WEB-INF/libにあるクラスがサーブレット上で実行されるクラスとして読み込まれますよね。これ以外に任意のディレクトリをクラスパスとして追加し、そのディレクトリにあるクラスをサーブレット上で実行したいのですが、可能でしょうか。 環境変数にクラスパスを設定してみたり、{TOMCAT_HOME}/bin/setclaspass.shにクラスパスを追加してみたりもしたのですが、結果は両方ともNoClassFoundExceptionでした。 ご教示お願いいたします。

    • ベストアンサー
    • Java
  • クラスパスの通し方

    いつも楽しく拝見させていただいています。 クラスパスのことで質問があります。宜しくお願いします。 クラスパスの通し方が理解できていなくて、もしEclipse上でクラスパスを通す方法があるのであれば教えていただけないでしょうか?よくパスが通っていなくてstrutsのアクションが動かない場合があるんです…。環境変数上でCLASSPATHを通す方法もあるようですがよくわかりません。以前はクラスパスとは何なのか?ということを質問させて頂いたのですが、実際にクラスパス(俗に言うパスを通す?)はどうやって通すのか教えて頂けたらうれしいです。どうか宜しくお願いします。

    • ベストアンサー
    • Java
  • シェルが実行されません

    WWWユーザから、 Process process = Runtime.getRuntime().exec("java -classpath /xx/xx/xx /export/home/test/B001"); は動くのですが、 Process process = Runtime.getRuntime().exec("java /export/home/test/B001.sh"); のようにシェルを呼び出しても動作しません。 また、hulftのジョブ起動からもシェルが動かないのですが、原因は何が考えられますでしょうか? シェルのパーミッションは755なのですが・・

  • Eclipseでのクラスパス設定について

    Eclipseでのクラスパスについて教えてください。 データベースにアクセスするJavaプログラムを勉強中です。 Windowsの環境変数『path』や『CLASSPATH』を設定し、コマンドプロンプトではコンパイルも実行もできるようになったのですが、同じプログラムをEclipseで実行するとJDBCドライバのクラスが見つからないエラーとなってしまいます。 Eclipseでのクラスパスの設定方法について教えてください。 思いっきりJava初心者です。 よろしくお願いします。 《環境》 WinXP HomeEdition JDK1.5.0 + Eclipse3.1 + PostgreSQL8.0

    • ベストアンサー
    • Java
  • Tomcatのpropertiesファイルの読み込みについて

    Tomcat4.1でWEB-INF/classes/resource/a.propertiesというリソースファイルを <a.class>.getResourceAsStream("/resource/a.properties"); と記述して読み込もうとしています。実際この記述でサーバ(Solaris)上ではうまく読み込めているのですが同じソースにもかかわらずローカルの開発環境(All-In-One EclipseのTomcat)ではうまくいきません。 eclipseのTomcatのクラスパス周りの設定だとは思っていますがどこを設定していいかわかりません。 WEB-INF/classes/配下は特に設定が必要ないのでは?とも思いますし・・。 ちなみにサーブレット・その他のクラスなどは問題なく動いてるようです。 初めての質問ですのでちょっとわかりにくいかも知れませんが もしわかる方がいらっしゃればご回答よろしくお願いします。

    • ベストアンサー
    • Java
  • TOMCATサーブレットの呼び出し方について

    こんにちわ!yukimura1024です。 tomcat5.0.27でサーブレットをやっているのですが、 web.xmlでurl-patternを定義したのもはブラウザでアドレスを入力しても サーブレット内からrequest.getRequestDispatcherで呼び出しても見つかるのですが、 それ以外の、web.xmlでurl-patternを定義していないサーブレットは 同じディレクトリにおいてあるサーブレットでもまったく呼び出せません(TT サーブレットの数だけweb.xmlにurl-patternを定義しなくてはならないのでしょうか? 昔は特に設定しなくても呼び出せていた気がします。。。 この辺についてわかる方、教えていただけると幸いです。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • クラスパスがとおりません。

    クラスパスがどおしてもとおりません。 # javac JdbcAccessTest.java # java JdbcAccessTest.class Exception in thread "main" java.lang.NoClassDefFoundError: JdbcAccessTest/class 以下のようにパスを通しているのですが。。 # pwd /export/home/test/webapp/sample/WEB-INF/classes # env CLASSPATH=/export/home/test/webapp/sample/WEB-INF/classes ・環境はSolarisです。よろしくお願いします。

    • ベストアンサー
    • Java
  • tomcatのエラー内容について

    前回Tomcatについて起動ができなく質問をしました。 設定は一通り終えています。(Autoexec.batの記述やstartupの起動など) アドレス入力後(localhost:8080)ウェブ画面で以下の内容でエラー表示がでます。 ホームページ英和翻訳 エラー: 接続タイムアウト URL指定されたアドレスに接続できません。URLをもう一度確認してください このエラーの原因として、以下のような理由が考えられます: 正しくないURLを指定 有効でないリンクをたどった ネットワーク接続、あるいはインターネット通信上の問題 ウェブサーバーのロード・エラー と表示されます。 MS-DOSプロント上でstartupを記述すると別の画面が出てきて直ぐに消えてしまいますからTomcatが正常に起動していないと思います。 次にまたMS-DOSプロント上でTomcat runと記述すると以下の内容が表示されました Unable to set classpath dynamically. Note;To set classpath dynamically on Win9x systems only8.3 names may be used in Tomcat_home setting your classpath statically. 環境変数のための領域がたりません。 環境変数のための領域がたりません。 環境変数のための領域がたりません。 Exception in thrsed "main" java.lang.NoClassDefFoundError:org/apache/tomcat/start/tomcat です。環境変数のための領域がたりません。と表示されているのですが、Startup での環境変数は3042に設定しています。にもかかわらず領域が足りないとは他の原因があるのでしょうか。アドバイスをお願いします。

    • ベストアンサー
    • Java
  • tomcatについて

    tomcatを用いてJSPが出来るようにしたいのですが、 HTTPステータス 404 - /myApp/mathexp.jsp The requested resource (/myApp/mathexp.jsp) is not available. というエラーが出てしまい、全くの手詰まり状態です。 お約束のHelloWorldさえ表示できません。 servletのみは動くのですが・・・ web.xmlは <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>myApp</display-name> <description> deply examples </description> </web-app> です。 OS:windowsXP tomcat:Tomcat 6.0.14 環境変数 JAVA_HOME:C:\Program Files\Java\jdk1.5.0_13 JRE_HOME:C:\Program Files\Java\jdk1.5.0_13\jre CATALINA_HOME:C:\tomcat\tomcat-6 ファイル C |tomcat ||tomcat-6 |||webapps ||||myApp ....HelloWorld.jsp |||||WEB-INF .....web.xml 原因はおそらくmyAppフォルダ内にあるHelloWorldが.jspで保存してもなぜかテキストファイルとなってしまう事にあるとおもうのですが、なぜこのようになるのかが分かりません。 詳しい方、ご回答よろしくお願いいたします。

    • ベストアンサー
    • Java
  • TOMCAT_HOMEって?

     以前質問させていただいたところ、環境変数JAVA_HOMEは、Tomcatがサーブレットなどをコンパイルする時にそれを、手がかりにservlet.jarを見つける為に設定すると聞きました。それ以外の役目もあると思いますが、  では、TOMCAT_HOMEは何が、どのように使うんでしょうか? 誰か知っている人がいたら、教えてください。よろしくお願いします。

    • ベストアンサー
    • Java