2016-08-22 22 views
0

私はジョブをtomcatにデプロイされたWebアプリケーションで実行しています。しかし問題は、ジョブが2回実行されることです。私はTomcatのserver.xmlautoDeployで新しいHostを追加すると、二回の展開を引き起こす可能性があることがわかりましたいくつかのインターネットの研究の後webappが2回展開され、quartzジョブが2回実行される

。どちらが私のquartzスケジューラを2回実行していると思います。

私はautoDeploy = "false"で試しました。しかし、問題は続く。ここで

は私のserver.xmlでホストの設定です:

<Host name="localhost" appBase="webapps" 
    unpackWARs="true" autoDeploy="false"> 

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
     prefix="localhost_access_log." suffix=".txt" 
     pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
</Host> 

<Host name="demo.example.com" appBase="webapps/demo" unpackWARs="true" autoDeploy="false"> 
     <Context path="/" docBase="." reloadable="true" /> 
</Host> 

編集(FYI): 私のcron式:0 50 12 * * ? 12:50で日常実行するようにスケジュールされています。

この設定でアプリケーションが2回展開されますか?それを避けるために私は何ができますか?ありがとうございます。

答えて

2

あなたの観察はここに複数の問題がある可能性が、その後実際に正しい場合 - あなたはserver.xmlで指定されたカスタムの場所に加えて

  1. 、あなたのアプリは、同様のtomcat/webappsのフォルダに存在するかもしれません。
  2. IDE内でホットデプロイメントを使用している可能性があります。IDE内のファイルを保存するとコンテキストがリロードされてしまい、再度石英を再初期化すると誤った印象を受ける可能性があります。
  3. 実際にコードに問題があります。

コードスニペットを見れば、何が起きているのか分かりにくいですが、これはかなり簡単な問題です。

+0

ありがとうございます。 2/3ではありませんでした。私は配備のためのIDEを使用していませんでした/コーディングの問題はありませんでした。 それは1ではありませんでした。明らかに、アプリケーションはwebappsフォルダ内にあったため、2回(localhostとdemo.example.comのように)配備されました。フォルダの外に移動し、 'appBase'と' docBase'を変更して動作させました。 –

関連する問題