10 個のポートレットを含む 1 つの war ファイルがあります。そのため、各 acc-portlet.xml (10 個すべての portlets.xml) に、Spring Inject Bean 宣言を追加し、common.xml を持っています。これには、ポートレット全体で一般的に使用される Bean があり、タグを使用してこの xml ファイルをインポートします各ポートレット xml ファイル。
ポートレットのコントローラ クラスには、ApplicationContextAware を実装しました。applicationcontext を印刷すると、実際には 10 個の diff webapplicationcontext が表示されます。
しかし、私の理解によれば (私が間違っていなければ)、単一の戦争であるため、webapplicationcontext のみが存在するはずです。
そして、各ポートレットに common.xml をインポートしたので、Spring は各ポートレットのシングルトン Bean をインスタンス化しています。
ログの内容を参照してください。
13:03:44,795 INFO [XmlPortletApplicationContext:500] Refreshing PortletApplicationContext for namespace 'acc1-portlet': startup date [Thu Mar 21 13:03:44 GMT 2013]; parent: Root WebApplicationContext
13:03:44,795 INFO [XmlBeanDefinitionReader:315] Loading XML bean definitions from PortletContext resource [/WEB-INF/acc1-portlet.xml]
13:03:44,827 INFO [XmlBeanDefinitionReader:315] Loading XML bean definitions from PortletContext resource [/WEB-INF/common.xml]
13:03:44,858 INFO [DefaultListableBeanFactory:581] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@e894e0: defining beans [org.springframework.web.servlet.handler.SimpleMappingExceptionResolver#0,viewResolver,messageSource,jaxbMarshaller
13:03:44,795 INFO [XmlPortletApplicationContext:500] Refreshing PortletApplicationContext for namespace 'bcc1-portlet': startup date [Thu Mar 21 13:03:44 GMT 2013]; parent: Root WebApplicationContext
13:03:44,795 INFO [XmlBeanDefinitionReader:315] Loading XML bean definitions from PortletContext resource [/WEB-INF/bcc1-portlet.xml]
13:03:44,827 INFO [XmlBeanDefinitionReader:315] Loading XML bean definitions from PortletContext resource [/WEB-INF/common.xml]
13:03:44,858 INFO [DefaultListableBeanFactory:581] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@e894e0: defining beans [org.springframework.web.servlet.handler.SimpleMappingExceptionResolver#0,viewResolver,messageSource,jaxbMarshaller.
common.xml コンテンツを 1 回だけロードし、単一のスプリング アプリケーション コンテキストを持たせるにはどうすればよいですか?