0

私は通常「sbt run」のように実行する Scala アプリケーションを持っています。ここで、プロジェクト全体を (sbt パッケージ経由で) .WAR ファイルにパッケージ化しました。次に、ファイルを webapps/ ディレクトリに配置し、Jetty を再起動しました。ログには、アプリケーションがデプロイされたことが示されています。そして、/tmp/jetty..../ に行けばそれを見ることができます。しかし、Jetty は私のアプリケーションの「メイン」メソッドを実行していないようです。この方法は Twitter Storm トポロジを実行しますが、戦争が展開されると実際には何も起こらないように感じます。Jettyとの取引はこれが初めてです。助けていただければ幸いです。

4

1 に答える 1

3

mainwebapps と warのメソッドのようなものはありません。

デプロイが完了したときに何かを起動する必要がある場合は、カスタムのjavax.servlet.ServletContextListenerを作成、セットアップ、および構成して、実装によってcontextInitialized(ServletContextEvente sce)Twitter ストーム トポロジを実行する必要があります。

また

スタンドアロンの jetty プロセスでは、war のデプロイ全体をスキップできます。mainこれを行うには、jetty 自体の起動から webapp の追加、独自のカスタム コードの実行まで、独自の custom で必要なことを実行できる組み込みの jetty インスタンスをセットアップします。

OneWebAppの埋め込み例を参照してください。

あなたのユースケースでは、「Twitter Storm トポロジ」を の後server.start();と前に初期化します。server.join();

于 2013-09-11T19:22:10.977 に答える