【问题标题】:Spring Shared bean concept - per App ServerSpring Shared bean 概念 - 每个 App Server
【发布时间】:2013-10-17 14:34:40
【问题描述】:

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

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

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

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

谢谢
桑达尔

【问题讨论】:

    标签: java spring enterprise portal


    【解决方案1】:

    您可以使用 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。

    【讨论】:

    • 其实我只用在无耳机型(Tomcat多战)上,所以是的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多