2010-01-15 86 views
0

我一直在想办法在Tomcat 6上创建共享Hibernate会话服务。基本上,我需要有这样的服务:1.要重新部署(不包括JNDI服务); 2.所有的Web应用程序都可以共享相同的Hibernate会话(缓存)。 Tomcat类加载机制似乎使分享数据库会话不可能。我可以使用Spring HttpInvoker创建一个可供其他Web应用程序使用的Web应用程序。或者我可以使用Spring dm-Server,但似乎解决方案的复杂性与应用服务器(JBoss或Glassfish)相当。 什么是可行的解决方案?Tomcat 6上的共享服务?

回答

1

可以使用2nd level cache

除此之外 - 让我们假设你想你模块化的应用,这对具有两个(或更多)的webapps的原因。但是如果你想缓存来自两个不同webapps的实体,这意味着两者都存在相同的实体类。这本身并没有错,但在不同的上下文这些实体具有相同的缓存似乎是错误的。毕竟,你可能不需要两个网络应用程序?

如果你确定你需要这个,你可以尝试实现一个自定义的Tomcat valve,但我可以给你既不建议也没有关于它的细节。

+0

Tomcat阀是一个有趣的想法。我一定会检查出来。无论如何,这种做法本身并不高雅。我们正在研究多个GWT Web应用程序来共享一个Hibernate sessionfactory。谢谢。 – renfred 2010-01-15 19:29:43