В моем отображении спящего я имею использование кэша, как только для чтениятранзакций Проблемы с Hibernate и Ehcache конфигурацией
<class name="cdot.ctms.layer.services.dispatch.data.DispatchMapDTO"
table="DISPATCH_MAP" mutable="false" optimistic-lock="version">
<cache usage="read-only"/>
В моем ehCache.xml у меня есть настройки кэша по умолчанию в качестве
<defaultCache
maxEntriesLocalHeap="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
diskSpoolBufferSizeMB="30"
maxEntriesLocalDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
transactionalMode="xa_strict">
<persistence strategy="localTempSwap"/>
</defaultCache>
Когда мой объект берет кеш-пойнт, который он запускает, в случае отказа от транзакции.
Если я добавляю кэш явно для объекта, на который я ссылаюсь, я не сталкиваюсь с какими-либо проблемами.
<cache
name="cdot.ctms.layer.services.dispatch.data.DispatchMapDTO"
maxEntriesLocalHeap="100"
eternal="false"
timeToLiveSeconds="300">
<persistence strategy="localTempSwap" />
</cache>
У нас есть много DTO, которые используют кеш по умолчанию в нашем приложении. Должен ли я определять кеш, как указано выше, в моем ehCache.xml для каждого объекта? Не нашли какую-либо сопроводительную документацию в спящем руководстве вокруг него
http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch20.html#performance-cache-readonly
Может кто-то объяснить, что не так с моей конфигурацией и каково лучшими практиками для указанных выше проблем.
2015-02-24 10: 05: 27,390 ОШИБКА (http-nio-127.0.0.1-8080-exec-6) [cdot.ctms.layer.web.fire.spring.AtmosphereHandlerExceptionResolver] Ошибка ExceptionResolver: JTA транзакция неожиданно откат (возможно, из-за таймаута); Вложенное исключение - javax.transaction.RollbackException: Не удалось выполнить транзакцию, отмеченную для отката org.springframework.transaction.UnexpectedRollbackException: транзакция JTA неожиданно откатилась (возможно, из-за таймаута); Вложенное исключение - это javax.transaction.RollbackException: Невозможно совершить транзакцию, отмеченную для отката на org.springframework.transaction.jta.JtaTransactionManager.doCommit (JtaTransactionManager.java:1024) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit (AbstractPlatformTransactionManager.java:757) на org.springframework.transaction.support.AbstractPlatformTransactionManager.commit (AbstractPlatformTransactionManager.java:726) на org.jencks.GeronimoPlatformTransactionManager.commit (GeronimoPlatformTransactionManager.java:76) в org.springframework.transaction .interceptor.TransactionAspectSupport.commitTransactionAfterReturning (TransactionAspectSupport.java:521) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTr ansaction (TransactionAspectSupport.java:291) на org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:96) на org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:179) на org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:207) at com.sun.proxy. $ Proxy143.getDispatchMaps (Неизвестный источник) at cdot.ctms.layer.delegate.controllers.DispatchController.getDispatchMaps (DispatchController.java:60) на sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) at java.lang.reflect.Method.invoke (Неизвестный источник) at cdot.ctms.layer.delegate.facade.AnnotationDelegateController.executeInternal (AnnotationDelegateController.java:287) at cdot.ctms.layer.delegate.facade.AnnotationDelegateController .processAction (AnnotationDelegateController.java:232) at cdot.ctms.layer.web.controller.BaseWebController.processAction (BaseWebController.java:94) at cdot.ctms.layer.web.dispatch.controller.DispatchController.findDispatchMapsUnderSection (DispatchController.java:82) на sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) на Java .lang.reflect.Method.invoke (Неизвестный источник) на org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:221) на org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:137) на org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:110) в org.springframework.web.servlet.mvc.method.annotation.RequestMappin gHandlerAdapter.invokeHandleMethod (RequestMappingHandlerAdapter.java:777) на org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:706) на org.springframework.web.servlet.mvc.method. AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:85) на org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:943) в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:877) на org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:966) в org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:857) в javax.servlet.http.HttpServlet. службы (HttpServlet.java:618) на org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:842) at javax.servlet.http.HttpServlet.service (HttpServlet.java:725) at org.atmosphere.util.AtmosphereFilterChain.doFilter (AtmosphereFilterChain.java:135) на org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain (AtmosphereFilterChain.java:96) в org.atmosphere.handler.ReflectorServletProcessor $ FilterChainServletWrapper.service (ReflectorServletProcessor.java:317) в org.atmosphere. handler.ReflectorServletProcessor.onRequest (ReflectorServletProcessor.java:160) на org.atmosphere.cpr.AsynchronousProcessor.action (AsynchronousProcessor.java:205) на org.atmosphere.cpr.AsynchronousProcessor.suspended (AsynchronousProcessor.java:104) at org.atmosphere.container.Servlet30CometSupport.service (Servlet30CometSupport.java:66) at org.atmosphere.cpr.AtmosphereFramework.doCometSupport (AtmosphereFramework.java:2079) at org.atmosphere.cpr.AtmosphereServlet.doPost (AtmosphereServlet. java: 211) at org.atmosphere.cpr.AtmosphereServlet.doGet (AtmosphereServlet.java:197) at javax.servlet.http.HttpServlet.service (HttpServlet.java:618) at javax.servlet.http.HttpServlet. сервис (HttpServlet.java:725) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:291) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) на org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:239) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) на org.springframework.security.web. FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:330) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke (FilterSecurityInterceptor.java:118) at org.springframework.security.web.access.intercept. FilterSecurityInterceptor.doFilter (FilterSecurityInterceptor.java:84) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.access.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.Java: 113) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.session.SessionManagementFilter.doFilter (SessionManagementFilter.java:103) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter (AnonymousAuthenticationFilter.java:113) в org.springframework.security. web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter (SecurityContextHolderAwareRequestFilter.java:154) в org.springframework.security.web.FilterChainP Roxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) на org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter (RequestCacheAwareFilter.java:45) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) на org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter (AbstractAuthenticationProcessingFilter.java:199) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.authentication.logout.LogoutFilter.doFilter (LogoutFilter.java:110) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в CDOT. web.filter. BaseWebRequestFilter.doFilter (BaseWebRequestFilter.java:75) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter (SecurityContextPersistenceFilter. Java: 87) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal (WebAsyncManagerIntegrationFilter.java: 50) на org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.sprin gframework.security.web.FilterChainProxy.doFilterInternal (FilterChainProxy.java:192) на org.springframework.security.web.FilterChainProxy.doFilter (FilterChainProxy.java:160) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:239) на org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в cdot.web.filter.BaseWebRequestFilter.doFilter (BaseWebRequestFilter.java:75) в org.apache. catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:239) на org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) на org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter. java: 88) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:239) на org.apache.catalina.core. ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) на org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:219) на org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:106) на org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:501) на org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:610) на org.apache.catalina.core. StandardHostValve.invoke (StandardHostValve.java: 142) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:88) at org.apache. catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:516) at org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1086) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol. java: 659) at org.apache.coyote.http11.Http11NioProtocol $ Http11ConnectionHandler.process (Http11NioProtocol.java:223) at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1558) на org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1515) на java.util.concurrent.ThreadPoolExecutor.runWorker (Неизвестный источник) на java.util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) на org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) at java.lang.Thread.run (Неизвестный источник) Вызвано: javax.transaction.RollbackException: Не удалось выполнить транзакцию, отмеченную для отката на org.apache.geronimo.transaction.manager.TransactionImpl .rollbackResourcesDuringCommit (TransactionImpl.java:670) at org.apache.geronimo.transaction.manager.TransactionImpl.commit (TransactionImpl.java:322) at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit (TransactionManagerImpl.java : 252) at org.springframework.transaction.jta. JtaTransactionManager.doCommit (JtaTransactionManager.java:1021) ... 105 еще
Пробовал это раньше, не помогло. –
Затем я рекомендую натолкнуть уровень журнала вашего менеджера транзакций, чтобы выяснить основную причину отката. –