2011-07-06 12 views
1

シングルトンリソースを複数のコントローラで使用する方法はありますか?Javaの複数のMVCコントローラが共有するシングルトンリソース

2つのサーブレットがあります。各サーブレットには、独自のアプリケーションコンテキスト(one-servlet.xml & two-servlet.xmlおよびlib-context.xml、シングルトンBean「util」)があります。

上記の2つのサーブレットコンテキストのそれぞれにlib-context.xmlをインポートすると、springは各サーブレットのアプリケーションコンテキストを作成し、2つのsingletoneオブジェクトになります。

シングルトンオブジェクトが1つだけ作成されるようにアプリケーションを設定する方法はありますか?

答えて

1

はい。 web.xmlには、DispatcherServletをロードするのではなく、ContextLoaderListenerlib-context.xmlをロードします。

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     classpath:/lib-context.xml 
    </param-value> 
</context-param> 
<listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 

サーブレット固有のアプリケーションコンテキスト設定ファイルからインポートを削除できます。

すべてDispatcherServletには、上記の共有されたlib-context.xmlだけでなく、自分自身が読み込むコンテキストも表示されます。

(私が与えた例のparam-valueを調整する必要があるかもしれません。そのパスは単なる例です)

関連する問題