現在、web.xml のないジャージー Web アプリケーションを使用しています。うまくデプロイされますが、最初の Web リクエストを受信するまで起動しません。
起動時に webapp を読み込むには、webapp 用の web.xml を作成し、load-on-startup タグを指定します。ただし、web.xml を作成しないことを強く希望します。
web.xml なしで起動時に JAX-RS アプリケーションをロードする方法はありますか? Jersey や Tomcat に固有のソリューションも受け入れます。
編集:Tomcatインスタンスにすべてのアプリを熱心にロードするソリューションも受け入れます。
編集:コメントごとに、アプリがどのように展開されているかについてもう少し情報を提供させてください。
展開プロセスは複雑ではありません。
アプリは、Ubuntu 12.04 を実行する EC2 インスタンス上で動作します。アプリの 1 つのインスタンスを手動でセットアップしています。動作したら、アプリの AMI を作成し、必要に応じて追加のコピーを作成します。
最初のインスタンスにアプリをデプロイするには、単に WAR ファイルをコピーして/var/lib/tomcat7/webapps
Tomcat を再起動します。この Tomcat インスタンスでは、他の Web アプリケーションは実行されません。
追加情報が役立つ場合は、お知らせください。喜んで追加します。
編集: わかりやすくするために、これは私の webappApplication
クラスの概要です。
@ApplicationPath("/")
public class App extends ResourceConfig {
// ...
}
ResourceConfig
より一般的な JAX-RS クラスではなく、Jersey 固有のクラスを使用しているのApplication
は、Jersey の組み込み HK-2 を使用して依存性注入を行っているためです。