0

我有一个门户服务器。安装了许多 portlet。我有环境配置文件,该文件对于安装在该应用服务器上的所有 portlet 都是相同的。我正在使用 apache commons-configuration 从配置文件进行管理。

现在,每个 portlet/组件都从这些文件构建自己的 EnvConfiguration bean。显然这会消耗更多的内存。我想分离 EnvConfiguration bean 的创建并在所有 portlet 之间共享它。基本上,我只想为每个应用服务器创建一个 bean。

最好的方法是什么?以及如何将这些常见的 bean 注入到所需的组件中?

编辑:这是一个 liferay 应用程序和非 EAR 模型

谢谢桑达尔
_

4

1 回答 1

0

您可以使用 parentContextKey web.xml 参数。这是一篇博客文章,解释了如何:http ://spring.io/blog/2007/06/11/using-a-shared-parent-application-context-in-a-multi-war-spring-application/

想法是将要共享的 bean 打包并声明在一个公共 jar 中(如果使用 Tomcat,则可以将其放在服务器 lib 文件夹中)。bean 在名为 beanRefContext.xml(默认名称,可以更改)的文件中声明,并带有一个 id。然后,在您的 webapps 的 web.xml 中添加参数“parentContextKey”,并使用前面提到的 id。

于 2013-10-18T12:44:39.137 回答