我正在开发一个项目,该项目有几个使用 Maven 构建并部署在 Java EE 中的 webapps (WAR)。
这些 WAR 共享几个常见的业务 JARS(比如一个包含从 hibernate 加载的域对象)和其他框架 JAR,如 Spring 和 Hibernate。
他们使用 Spring MVC,Application Context 加载 Hibernate。由于每个 WAR 在 servlet 容器中都有自己的 Classpath,因此不共享 Hibernate 缓存 (EHcache)。
我想要的是在不同的 WAR 之间共享缓存以及休眠会话工厂 bean(以及其他常见 bean)。我认为这可以通过在 EAR 中重新打包这些 WAR 来实现,然后我必须使用这些公共 bean 制作一个 spring 配置 XML,并在 WAR 的 Spring XML 中使用我读过的 SingletonBeanFactoryLocator 之类的东西。
我在这里要问的是,是否有一种简单的方法可以做到这一点,最大限度地减少对 WAR 的 POM 的更改
注意:我熟悉 WAR、tomcat 和 servlet,但不太熟悉 EAR。
提前致谢。