两个不同的web程序 我们共享的主要是hibernate的二级缓存 ehcache
Code:
<app-groups>
<app-group name="webapp-group">
<web-application>web1</web-application>
<web-application>web2</web-application>
<named-classloader>Tomcat.Catalina:localhost:/web1</named-classloader>
</app-group>
在terracotta的文档中,
http://www.terracotta.org/web/display/docs/Configuration+Guide+and+Reference
Code:
<app-groups>
<app-group name="ac">
<web-application>AppA</web-application>
<web-application>AppC</web-application>
</app-group>
<app-group name="bd">
<web-application>AppB</web-application>
<web-application>AppD</web-application>
</app-group>
</app-groups>
两个web共享并不需要设置named-classloader,在我们的应用中一旦删除named-classloader,web2就会报错
Code:
java.lang.ClassNotFoundException: No registered loader for description: %%Tomcat.Catalina:localhost:/web1, trying to load org.hibernate.cache.
上述情况出现在web1,web2驻留在不同的主机,如果我在同一个主机不同的jvm中测试,named-classloader设置与否都不影响正常运行。