Web应用程序是否部署在同一服务器上?
我不能代表Spring,但是使用Session Bean将业务逻辑转移到EJB层很简单。
应用程序组织很简单。逻辑进入会话Bean,这些会话Bean作为Java EE工件与ejb-
jar.xml文件一起捆绑在一个jar中(在EJB3中,这实际上是空的)。
然后将您的实体类捆绑到一个单独的jar文件中。
接下来,您将把每个Web应用程序构建到它们自己的WAR文件中。
最后,所有的jar和wars都与相关的application.xml文件捆绑到了Java EE EAR中(同样,将枚举在EAR中的jars,这可能很小)。
该EAR批量部署到了应用服务器。
每个WAR实际上都是独立的-自己的会话,上下文路径等。但是它们共享公共的EJB后端,因此您只有一个二级缓存。
您还使用本地引用和调用语义与EJB进行对话,因为它们位于同一服务器中。此处无需远程呼叫。
我认为这可以很好地解决您遇到的问题,并且在带有EJB 3的Java EE 5中非常简单。
另外,据我了解,您仍然可以在大部分工作中使用Spring,但由于我不是Spring人士,所以我无法透露细节。



