java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy

Terracotta | devuke | 3 years ago
  1. 0

    java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.stor

    Terracotta | 3 years ago | devuke
    java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy
  2. 0

    1) Dropped and recreated ssp database 2) In SSP-Open-Source-Project: mvn properties:read-project-properties liquibase:update 3) In SSP-Platform: ant initdb 4) Log in to /ssp-platform 5) uPortal attempts to render SSP portlet but the resulting portlet window is effectively empty. Firebug shows errors attempting to retrieve several css and js files, which eventually cause Ext to fail to initialize. Several of the following stack traces appear in catalina.out: org.springframework.orm.hibernate4.HibernateJdbcException: JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [25P02]; error code [0]; ERROR: current transaction is aborted, commands ignored until end of transaction block; nested exception is org.hibernate.exception.GenericJDBCException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:167) at org.springframework.orm.hibernate4.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:606) at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:488) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:394) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy221.createUserAccount(Unknown Source) at org.jasig.ssp.security.UserDetailsService.loadUserDetails(UserDetailsService.java:50) at org.jasig.ssp.security.UserDetailsService.loadUserDetails(UserDetailsService.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy314.loadUserDetails(Unknown Source) at org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider.authenticate(PreAuthenticatedAuthenticationProvider.java:80) at org.springframework.security.authentication.ProviderManager.doAuthentication(ProviderManager.java:130) at org.springframework.security.authentication.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:48) at org.jasig.ssp.security.uportal.UPortalPreAuthenticatedProcessingFilter.doAuthenticate(UPortalPreAuthenticatedProcessingFilter.java:157) at org.jasig.ssp.security.uportal.UPortalPreAuthenticatedProcessingFilter.doFilter(UPortalPreAuthenticatedProcessingFilter.java:76) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jasig.ssp.security.uportal.RequestAndResponseAccessFilter.doFilter(RequestAndResponseAccessFilter.java:47) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:680) Caused by: org.hibernate.exception.GenericJDBCException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:52) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129) at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) at $Proxy336.executeUpdate(Unknown Source) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2849) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3290) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:80) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:272) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:264) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:186) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175) at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:480) ... 50 more Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) ... 66 more Also see several of the following traces in ssp-platform.log, but I think these are actually unrelated or at least not the actual cause of the error that eventually breaks the UI: WARN [uPortal-PortletExecutor-2-RENDER-[ssp]] Jul/26 11:17:34,914 ehcache.AbstractEhcacheRegionFactory.[] - HHH020003: Could not find a specific ehcache configuration for cache named [org.jasig.portal.persondir.dao.jpa.LocalAccountPersonAttributeImpl.Query]; using defaults. WARN [uPortal-PortletExecutor-2-RENDER-[ssp]] Jul/26 11:17:34,942 support.MergingPersonAttributeDaoImpl.[] - Recovering From Exception thrown by 'org.jasig.portal.persondir.LocalAccountPersonAttributeDao@78f216da' java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy at net.sf.ehcache.config.CopyStrategyConfiguration.getCopyStrategyInstance(CopyStrategyConfiguration.java:83) at net.sf.ehcache.config.CacheConfiguration.getCopyStrategy(CacheConfiguration.java:1149) at net.sf.ehcache.store.MemoryOnlyStore.<init>(MemoryOnlyStore.java:58) at net.sf.ehcache.store.MemoryOnlyStore.create(MemoryOnlyStore.java:70) at net.sf.ehcache.Cache.initialise(Cache.java:1105) at net.sf.ehcache.CacheManager.initializeEhcache(CacheManager.java:1125) at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:1156) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1051) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:993) at org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory.getCache(AbstractEhcacheRegionFactory.java:173) at org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory.buildQueryResultsRegion(AbstractEhcacheRegionFactory.java:151) at org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory.buildQueryResultsRegion(SingletonEhCacheRegionFactory.java:47) at org.hibernate.cache.internal.StandardQueryCache.<init>(StandardQueryCache.java:85) at org.hibernate.cache.internal.StandardQueryCacheFactory.getQueryCache(StandardQueryCacheFactory.java:45) at org.hibernate.internal.SessionFactoryImpl.getQueryCache(SessionFactoryImpl.java:1483) at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2288) at org.hibernate.loader.Loader.list(Loader.java:2271) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1115) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:252) at org.hibernate.ejb.criteria.CriteriaQueryCompiler$3.getResultList(CriteriaQueryCompiler.java:260) at org.jasig.portal.persondir.dao.jpa.JpaLocalAccountDaoImpl.getCurrentAttributeNames(JpaLocalAccountDaoImpl.java:257) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:55) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy115.getCurrentAttributeNames(Unknown Source) at org.jasig.portal.persondir.LocalAccountPersonAttributeDao.getAvailableQueryAttributes(LocalAccountPersonAttributeDao.java:140) at org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao.getAvailableQueryAttributes(AbstractAggregatingDefaultQueryPersonAttributeDao.java:274) at org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao.getAvailableQueryAttributes(AbstractAggregatingDefaultQueryPersonAttributeDao.java:274) at org.jasig.portal.portlets.swapper.OverwritingPersonAttributeDao.getAvailableQueryAttributes(OverwritingPersonAttributeDao.java:137) at org.jasig.portal.permission.target.UserAttributesTargetProviderImpl.getTarget(UserAttributesTargetProviderImpl.java:25) at org.jasig.portal.api.permissions.ApiPermissionsService.createAssignment(ApiPermissionsService.java:128) at org.jasig.portal.api.permissions.ApiPermissionsService.getAssignmentsForPerson(ApiPermissionsService.java:91) at org.jasig.ssp.security.uportal.UPortalSecurityFilter.populateAuthorites(UPortalSecurityFilter.java:71) at org.jasig.ssp.security.uportal.UPortalSecurityFilter.doFilter(UPortalSecurityFilter.java:55) at org.jasig.portal.portlet.container.FilterChainImpl.doFilter(FilterChainImpl.java:170) at org.jasig.portal.portlet.container.FilterChainImpl.processFilter(FilterChainImpl.java:100) at org.jasig.portal.portlet.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:111) at org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340) at org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233) at org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) at org.jasig.portal.portlet.dao.jpa.ThreadContextClassLoaderAspect.doThreadContextClassLoaderUpdate(ThreadContextClassLoaderAspect.java:70) at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy142.render(Unknown Source) at org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157) at org.jasig.portal.portlet.rendering.PortletRendererImpl.doRender(PortletRendererImpl.java:420) at org.jasig.portal.portlet.rendering.PortletRendererImpl.doRenderMarkup(PortletRendererImpl.java:252) at org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.callInternal(PortletRenderExecutionWorker.java:65) at org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.callInternal(PortletRenderExecutionWorker.java:42) at org.jasig.portal.portlet.rendering.worker.PortletExecutionWorker$1.call(PortletExecutionWorker.java:165) at org.jasig.portal.portlet.rendering.worker.PortletExecutionCallable.call(PortletExecutionCallable.java:119) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680) Caused by: java.lang.ClassCastException: net.sf.ehcache.store.compound.ReadWriteSerializationCopyStrategy cannot be cast to net.sf.ehcache.store.compound.ReadWriteCopyStrategy at net.sf.ehcache.config.CopyStrategyConfiguration.getCopyStrategyInstance(CopyStrategyConfiguration.java:74) ... 92 more More usefully, postgres server.log shows several of these: ERROR: duplicate key value violates unique constraint "unique_person_username" DETAIL: Key (username)=(admin) already exists. STATEMENT: insert into person (created_by, created_date, modified_by, modified_date, object_status, ability_to_benefit, address_line_1, address_line_2, anticipated_start_term, anticipated_start_year, birth_date, cell_phone, city, coach_id, person_demographics_id, person_education_goal_id, person_education_plan_id, enabled, first_name, home_phone, last_name, middle_name, photo_url, primary_email_address, school_id, secondary_email_address, person_staff_details_id, state, strengths, student_intake_complete_date, student_intake_request_date, student_type_id, username, work_phone, zip_code, id) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36) Followed by an equal number of these: ERROR: current transaction is aborted, commands ignored until end of transaction block STATEMENT: insert into person (created_by, created_date, modified_by, modified_date, object_status, ability_to_benefit, address_line_1, address_line_2, anticipated_start_term, anticipated_start_year, birth_date, cell_phone, city, coach_id, person_demographics_id, person_education_goal_id, person_education_plan_id, enabled, first_name, home_phone, last_name, middle_name, photo_url, primary_email_address, school_id, secondary_email_address, person_staff_details_id, state, strengths, student_intake_complete_date, student_intake_request_date, student_type_id, username, work_phone, zip_code, id) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36) Ignoring that second trace, then, it looks like (at least part of) the problem is that UserDetailsService.loadUserDetails() attempts to create a user account just-in-time for a first-time portlet access but doesn't gracefully handle concurrent requests to do the same. This issue is exacerbated by the SpringSecurity issue described by SSP-357, the bulk of which was punted to SSP-396.

    Apereo Issues | 4 years ago | Dan McCallum
    java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy
  3. 0

    1) Dropped and recreated ssp database 2) In SSP-Open-Source-Project: mvn properties:read-project-properties liquibase:update 3) In SSP-Platform: ant initdb 4) Log in to /ssp-platform 5) uPortal attempts to render SSP portlet but the resulting portlet window is effectively empty. Firebug shows errors attempting to retrieve several css and js files, which eventually cause Ext to fail to initialize. Several of the following stack traces appear in catalina.out: org.springframework.orm.hibernate4.HibernateJdbcException: JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [25P02]; error code [0]; ERROR: current transaction is aborted, commands ignored until end of transaction block; nested exception is org.hibernate.exception.GenericJDBCException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:167) at org.springframework.orm.hibernate4.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:606) at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:488) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:394) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy221.createUserAccount(Unknown Source) at org.jasig.ssp.security.UserDetailsService.loadUserDetails(UserDetailsService.java:50) at org.jasig.ssp.security.UserDetailsService.loadUserDetails(UserDetailsService.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy314.loadUserDetails(Unknown Source) at org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider.authenticate(PreAuthenticatedAuthenticationProvider.java:80) at org.springframework.security.authentication.ProviderManager.doAuthentication(ProviderManager.java:130) at org.springframework.security.authentication.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:48) at org.jasig.ssp.security.uportal.UPortalPreAuthenticatedProcessingFilter.doAuthenticate(UPortalPreAuthenticatedProcessingFilter.java:157) at org.jasig.ssp.security.uportal.UPortalPreAuthenticatedProcessingFilter.doFilter(UPortalPreAuthenticatedProcessingFilter.java:76) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jasig.ssp.security.uportal.RequestAndResponseAccessFilter.doFilter(RequestAndResponseAccessFilter.java:47) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:680) Caused by: org.hibernate.exception.GenericJDBCException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:52) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129) at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) at $Proxy336.executeUpdate(Unknown Source) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2849) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3290) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:80) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:272) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:264) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:186) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175) at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:480) ... 50 more Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) ... 66 more Also see several of the following traces in ssp-platform.log, but I think these are actually unrelated or at least not the actual cause of the error that eventually breaks the UI: WARN [uPortal-PortletExecutor-2-RENDER-[ssp]] Jul/26 11:17:34,914 ehcache.AbstractEhcacheRegionFactory.[] - HHH020003: Could not find a specific ehcache configuration for cache named [org.jasig.portal.persondir.dao.jpa.LocalAccountPersonAttributeImpl.Query]; using defaults. WARN [uPortal-PortletExecutor-2-RENDER-[ssp]] Jul/26 11:17:34,942 support.MergingPersonAttributeDaoImpl.[] - Recovering From Exception thrown by 'org.jasig.portal.persondir.LocalAccountPersonAttributeDao@78f216da' java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy at net.sf.ehcache.config.CopyStrategyConfiguration.getCopyStrategyInstance(CopyStrategyConfiguration.java:83) at net.sf.ehcache.config.CacheConfiguration.getCopyStrategy(CacheConfiguration.java:1149) at net.sf.ehcache.store.MemoryOnlyStore.<init>(MemoryOnlyStore.java:58) at net.sf.ehcache.store.MemoryOnlyStore.create(MemoryOnlyStore.java:70) at net.sf.ehcache.Cache.initialise(Cache.java:1105) at net.sf.ehcache.CacheManager.initializeEhcache(CacheManager.java:1125) at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:1156) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1051) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:993) at org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory.getCache(AbstractEhcacheRegionFactory.java:173) at org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory.buildQueryResultsRegion(AbstractEhcacheRegionFactory.java:151) at org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory.buildQueryResultsRegion(SingletonEhCacheRegionFactory.java:47) at org.hibernate.cache.internal.StandardQueryCache.<init>(StandardQueryCache.java:85) at org.hibernate.cache.internal.StandardQueryCacheFactory.getQueryCache(StandardQueryCacheFactory.java:45) at org.hibernate.internal.SessionFactoryImpl.getQueryCache(SessionFactoryImpl.java:1483) at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2288) at org.hibernate.loader.Loader.list(Loader.java:2271) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1115) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:252) at org.hibernate.ejb.criteria.CriteriaQueryCompiler$3.getResultList(CriteriaQueryCompiler.java:260) at org.jasig.portal.persondir.dao.jpa.JpaLocalAccountDaoImpl.getCurrentAttributeNames(JpaLocalAccountDaoImpl.java:257) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:55) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy115.getCurrentAttributeNames(Unknown Source) at org.jasig.portal.persondir.LocalAccountPersonAttributeDao.getAvailableQueryAttributes(LocalAccountPersonAttributeDao.java:140) at org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao.getAvailableQueryAttributes(AbstractAggregatingDefaultQueryPersonAttributeDao.java:274) at org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao.getAvailableQueryAttributes(AbstractAggregatingDefaultQueryPersonAttributeDao.java:274) at org.jasig.portal.portlets.swapper.OverwritingPersonAttributeDao.getAvailableQueryAttributes(OverwritingPersonAttributeDao.java:137) at org.jasig.portal.permission.target.UserAttributesTargetProviderImpl.getTarget(UserAttributesTargetProviderImpl.java:25) at org.jasig.portal.api.permissions.ApiPermissionsService.createAssignment(ApiPermissionsService.java:128) at org.jasig.portal.api.permissions.ApiPermissionsService.getAssignmentsForPerson(ApiPermissionsService.java:91) at org.jasig.ssp.security.uportal.UPortalSecurityFilter.populateAuthorites(UPortalSecurityFilter.java:71) at org.jasig.ssp.security.uportal.UPortalSecurityFilter.doFilter(UPortalSecurityFilter.java:55) at org.jasig.portal.portlet.container.FilterChainImpl.doFilter(FilterChainImpl.java:170) at org.jasig.portal.portlet.container.FilterChainImpl.processFilter(FilterChainImpl.java:100) at org.jasig.portal.portlet.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:111) at org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340) at org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233) at org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) at org.jasig.portal.portlet.dao.jpa.ThreadContextClassLoaderAspect.doThreadContextClassLoaderUpdate(ThreadContextClassLoaderAspect.java:70) at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy142.render(Unknown Source) at org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157) at org.jasig.portal.portlet.rendering.PortletRendererImpl.doRender(PortletRendererImpl.java:420) at org.jasig.portal.portlet.rendering.PortletRendererImpl.doRenderMarkup(PortletRendererImpl.java:252) at org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.callInternal(PortletRenderExecutionWorker.java:65) at org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.callInternal(PortletRenderExecutionWorker.java:42) at org.jasig.portal.portlet.rendering.worker.PortletExecutionWorker$1.call(PortletExecutionWorker.java:165) at org.jasig.portal.portlet.rendering.worker.PortletExecutionCallable.call(PortletExecutionCallable.java:119) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680) Caused by: java.lang.ClassCastException: net.sf.ehcache.store.compound.ReadWriteSerializationCopyStrategy cannot be cast to net.sf.ehcache.store.compound.ReadWriteCopyStrategy at net.sf.ehcache.config.CopyStrategyConfiguration.getCopyStrategyInstance(CopyStrategyConfiguration.java:74) ... 92 more More usefully, postgres server.log shows several of these: ERROR: duplicate key value violates unique constraint "unique_person_username" DETAIL: Key (username)=(admin) already exists. STATEMENT: insert into person (created_by, created_date, modified_by, modified_date, object_status, ability_to_benefit, address_line_1, address_line_2, anticipated_start_term, anticipated_start_year, birth_date, cell_phone, city, coach_id, person_demographics_id, person_education_goal_id, person_education_plan_id, enabled, first_name, home_phone, last_name, middle_name, photo_url, primary_email_address, school_id, secondary_email_address, person_staff_details_id, state, strengths, student_intake_complete_date, student_intake_request_date, student_type_id, username, work_phone, zip_code, id) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36) Followed by an equal number of these: ERROR: current transaction is aborted, commands ignored until end of transaction block STATEMENT: insert into person (created_by, created_date, modified_by, modified_date, object_status, ability_to_benefit, address_line_1, address_line_2, anticipated_start_term, anticipated_start_year, birth_date, cell_phone, city, coach_id, person_demographics_id, person_education_goal_id, person_education_plan_id, enabled, first_name, home_phone, last_name, middle_name, photo_url, primary_email_address, school_id, secondary_email_address, person_staff_details_id, state, strengths, student_intake_complete_date, student_intake_request_date, student_type_id, username, work_phone, zip_code, id) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36) Ignoring that second trace, then, it looks like (at least part of) the problem is that UserDetailsService.loadUserDetails() attempts to create a user account just-in-time for a first-time portlet access but doesn't gracefully handle concurrent requests to do the same. This issue is exacerbated by the SpringSecurity issue described by SSP-357, the bulk of which was punted to SSP-396.

    Apereo Issues | 4 years ago | Dan McCallum
    java.lang.RuntimeException: ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Optiq errors when trying to setup access via JDBC

    Google Groups | 3 years ago | Dan Keeley
    java.lang.RuntimeException: todo: implement this method
  6. 0

    GitHub comment 80#257949393

    GitHub | 1 month ago | nielsbril
    java.lang.RuntimeException: Unable to start activity ComponentInfo{nmct.jaspernielsmichielhein.watchfriends/nmct.jaspernielsmichielhein.watchfriends.view.MainActivity}: java.lang.RuntimeException: nmct.jaspernielsmichielhein.watchfriends.view.MainActivity@8275a31 must implement OnFragmentInteractionListener

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.RuntimeException

      ReadWriteSerializationCopyStrategy doesn't implement net.sf.ehcache.store.compound.CopyStrategy

      at net.sf.ehcache.config.CopyStrategyConfiguration.getCopyStrategyInstance()
    2. Ehcache
      CacheManager.addCache
      1. net.sf.ehcache.config.CopyStrategyConfiguration.getCopyStrategyInstance(CopyStrategyConfiguration.java:83)
      2. net.sf.ehcache.config.CacheConfiguration.getCopyStrategy(CacheConfiguration.java:1164)
      3. net.sf.ehcache.store.MemoryOnlyStore.<init>(MemoryOnlyStore.java:63)
      4. net.sf.ehcache.store.MemoryOnlyStore.create(MemoryOnlyStore.java:77)
      5. net.sf.ehcache.Cache.initialise(Cache.java:1099)
      6. net.sf.ehcache.CacheManager.initializeEhcache(CacheManager.java:1298)
      7. net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:1329)
      8. net.sf.ehcache.CacheManager.addCache(CacheManager.java:1227)
      9. net.sf.ehcache.CacheManager.addCache(CacheManager.java:1194)
      9 frames