0

起動時に@Webserviceの読み込みを無効にして、xfireでの読み込み時間を節約するにはどうすればよいですか?

@Webserviceアノテーションが付いたサービスがたくさんあります。これらはすべて起動時に読み込まれ、起動が遅くなります。開発インスタンスで非サービスをテストする場合、これらをロードしたくありません。システムプロパティなどを設定してこれを無効にする方法はないかと思います。

4

1 に答える 1

0

確かに、xfireサーブレットを構成するweb.xmlでは、次のようになります。

<servlet>
    <servlet-name>xfire</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>-1</load-on-startup>
</servlet>

load-on-startupの負の値は、サーブレットが「コンテナが「そのように感じた」ときにのみ初期化されることを意味します。ほとんどのコンテナでは、これは最初のリクエストが着信したことを意味します。

サーブレット仕様から:

load-on-startup要素は、Webアプリケーションの起動時にこのサーブレットをロード(インスタンス化してinit()を呼び出す)する必要があることを示します。これらの要素のオプションの内容は、サーブレットがロードされる順序を示す整数である必要があります。値が負の整数の場合、または要素が存在しない場合、コンテナは選択したときにいつでもサーブレットを自由にロードできます。値が正の128整数または0の場合、コンテナは、アプリケーションのデプロイ時にサーブレットをロードして初期化する必要があります。コンテナは、より低い整数でマークされたサーブレットが、より高い整数でマークされたサーブレットの前にロードされることを保証する必要があります。コンテナは、同じload-on-start-up値を持つサーブレットのロード順序を選択できます。

したがって、Webコンテナのドキュメントを参照して、これがあなたのケースで望ましい効果をもたらすことを確認してください。

于 2012-05-22T07:21:47.040 に答える