我的组织正在开发一个POC,用于使用terracotta服务器版本4.0.5实现ehcache。使用我的本地机器进行测试时一切正常。
当我们将代码部署到web应用程序时,它可以很好地连接到TSA,但我在尝试创建CacheManager实例时收到以下异常。
我已经验证了所有必需的jar都在类路径中。
ehcache-ee-2.7.5.jar
slf4j-api-1.6.6.jar
slf4j-jdk14-1.7.6.jar
terracotta-toolkit-runtime-ee-4.0.5.jar
它们在我的WEB应用程序WAR的WEB-INF/lib文件夹中。我们在weblogic 10.3.2上运行,JRE为jrmc-3.1.2-1.6.0。
有人知道什么会导致这样的错误吗?感谢您的帮助。
: org.terracotta.toolkit.nonstop.NonStopToolkitInstantiationException: org.terracotta.toolkit.ToolkitRuntimeException: java.lang.NoClassDefFoundError: net/sf/ehcache/pool/sizeof/JvmInformation
at com.terracotta.toolkit.AsyncToolkitInitializer.getToolkit(AsyncToolkitInitializer.java:46)
at com.terracotta.toolkit.AsyncToolkitInitializer.getToolkit(AsyncToolkitInitializer.java:31)
at com.terracotta.toolkit.NonStopToolkitImpl.getInitializedToolkit(NonStopToolkitImpl.java:88)
at com.terracotta.toolkit.NonStopToolkitImpl.shutdown(NonStopToolkitImpl.java:277)
at org.terracotta.modules.ehcache.ToolkitInstanceFactoryImpl.shutdown(ToolkitInstanceFactoryImpl.java:265)
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory.shutdown(TerracottaClusteredInstanceFactory.java:142)
at net.sf.ehcache.terracotta.ClusteredInstanceFactoryWrapper.shutdown(ClusteredInstanceFactoryWrapper.java:121)
at net.sf.ehcache.terracotta.TerracottaClient.shutdownClusteredInstanceFactoryWrapper(TerracottaClient.java:159)
at net.sf.ehcache.terracotta.TerracottaClient.shutdown(TerracottaClient.java:153)
at net.sf.ehcache.CacheManager.init(CacheManager.java:395)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:265)
at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1123)
at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1099)
at com.hmsy.cts.cache.HMSCacheManager.getCacheInstance(HMSCacheManager.java:22)
at com.hmsy.cts.cache.CacheSearchAgent.executeSearch(CacheSearchAgent.java:41)
at com.hmsy.cts.delegate.SearchRecipient.work(SearchRecipient.java:68)
at com.hmsy.shr.event.ECEventWorkerThreadSafe.doWork(ECEventWorkerThreadSafe.java:39)
at com.hmsy.cts.web.CTServiceListener.actionPerformed(CTServiceListener.java:65)
at com.hmsy.shr.event.ECEventService.fireEvent(ECEventService.java:118)
at com.hmsy.cts.web.CTSearchServlet.processRequest(CTSearchServlet.java:126)
at com.hmsy.cts.web.CTSearchServlet.doPost(CTSearchServlet.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:499)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:248)
at com.hmsy.shr.web.ControllerServlet.processRequest(ControllerServlet.java:292)
at com.hmsy.shr.web.ControllerServlet.doPost(ControllerServlet.java:316)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.hmsy.shr.web.filter.BroadcastMessageFilter.doFilter(BroadcastMessageFilter.java:62)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
我得到同样的错误,因为Ehcache在尝试查找JRockit JVM参数时得到NullPointerException。尝试使用常规JVM,而不是JRockit。它应该可以解决问题。
我在Hibernate 4上使用EHCache 2 . 6 . 9版。我在日志中看到以下警告: net.sf.ehcache.pool.SizeOf。ObjectGraphWalker checkMaxDepth:在尝试计算对象图的大小时,已达到1000个对象引用的配置限制。。。。 我没有将任何限制设置为1000。但是,在看到此警告后,我将 sizeOfPolicy 定义为 10000。但是,我仍
Ehcache集群 共有RMI,JGroups,JMS三个方案。JMS太过复杂,直接掠过。JGroups方案的配置比较复杂,如果不熟悉JGroups的同学可能用不好,而且是非核心包。所以简简单单就用ehcache-core自带的RMI了。 例子见showcase里的ehcache-hibernate-rmi.xml, 配置很简单,先把Factory配起来,简单的multicast自动发现: <ca
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 下图是 Ehcache 在应用程序中的位置: 主要的特性有: 1. 快速. 2. 简单. 3. 多种缓存策略 4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 5. 缓存数据会在虚拟机重启的过程中写入磁盘 6. 可以通过RMI、可插入API等方式进行分布式缓存 7
我们有应用程序使用EHCache2.9.0。最近,我们每周观察到一次与ehcache Get/Put操作相关的死锁,一旦清除缓存,问题就消失了。 我们在缓存get操作期间观察RandomAccessFile上的锁,在put操作期间观察ReentrantReadWriteLock上的锁。 请ehcache专家就可能出现的问题提出见解? “http938”#25950守护进程prio=5 os_pri
问题内容: 我正在使用hibernate的spring项目,并希望使用ehcache实现二级缓存。我看到了许多解决方法: 引入了注释 一个旨在成为继任者的工具集。 可以很好地集成到hibernate自身中,以使用例如注释进行缓存。 使用代理。基于注释的配置很快变得有限或复杂(例如,注释嵌套的多个级别) 就我个人而言,我认为还不够彻底,因此我可能宁愿考虑使用更积极的方法。尽管这似乎是最完整的实现(例
ehcache-jcache 是 ehcache 对 JCache 标准 API (JSR107) 的实现。