Моя проблема в том, что я самостоятельно управляю ehcache, не используя hibernate.
Например, .Когда бы мне ни потребовался какой-либо объект, сначала я получаю из кэша, если не найден, затем получаю из db и помещаю в cache.so, в следующий раз, когда он доступен в кэше.
проблема : при попытке двух потоковчтобы получить этот объект в первую очередь оба не нашли объект в кеше.сначала оба получают из базы данных, а затем оба пытаются поместить объект в кеш. В это время второй поток выдал ошибку «Нет голосования».Можете ли вы предложить любой лучший способ управления ehcache вручную.Если вы не получили мой вопрос, не стесняйтесь связаться.
Ошибка
org.springframework.transaction.UnexpectedRollbackException: JTA
transaction unexpectedly rolled back (maybe due to a timeout); nested
exception is javax.transaction.RollbackException: Prepare: NO vote
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1026)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:518)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)