標準のJava Webアプリケーションを起動するために埋め込みJettyを使用しています。私は私のアプリを起動し、それを参照し、すべてが動作しているように見えることが可能という点で、すべてが正常に動作しますWebappの起動に失敗しましたが、Jetty LifeCycleは「開始済み」と回答しました
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.component.LifeCycle.Listener;
import org.eclipse.jetty.webapp.WebAppContext;
...
Listener listener = ...;
Server server = new Server(8080);
WebAppContext webapp = new WebAppContext();
...
webapp.addLifeCycleListener(listener);
server.setHandler(webapp);
server.start();
...
この:私のランチャーは、このようなものです。
しかし、私はランチャーにエラー報告を追加しようとしています。私は一時的にServletContextListener
のcontextInitialized()
メソッドで例外をスローするようにWebアプリケーションを設定しました。例外がスローされ、
ERROR org.eclipse.jetty.util.log Failed startup of context [email protected]
のログメッセージが表示されますが、私のLifeCycleListenerは失敗イベントを受信しません。実際には、開始イベントを受け取り、WebAddContext
はリスナーに渡され、LifeCycle#isFailed()
の場合はfalseを返し、LifeCycle#isRunning()
の場合はfalseを返します。
Webアプリケーションをブラウズすると、503のサービスを利用できないというエラーが発生します。
これはJettyバージョン7.0.1.v20091125と7.2.1.v20101111で発生します。 Jetty 7 api docsを参照してください。
私は幸運のそれらのすべてにリスナーを接続しようとしました。私は[WebAppContextのソース](http://download.eclipse.org/jetty/stable-7/xref/org/eclipse/jetty/webapp/WebAppContext.html#483)を見ています。このLog.warnは、私が見ているログメッセージと一致します(エラーレベルで表示されます...)。私がこの権利を読んでいれば、そのエラーは完全に飲み込まれます。 [AbstractLifeCycle](http://download.eclipse.org/jetty/stable-7/xref/org/eclipse/jetty/util/component/AbstractLifeCycle.html#46)の関連部分は、例外がスローされたときに失敗を設定します。 'doStart()'をサブクラス化します。 – Patrick
私は、WebAppContextを例外でよりスローに拡張しようとしていると思います。 – Patrick
それは多かれ少なかれ働いた。私の投稿された答えを見てください。あなたのヒントをありがとう。 – Patrick