Нет проблем с голосованием из-за добавления одного и того же значения несколько раз в ehcache при весенней загрузке - PullRequest
0 голосов
/ 09 октября 2018

Моя проблема в том, что я самостоятельно управляю 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)

1 Ответ

0 голосов
/ 09 октября 2018

Это исключение означает, что когда транзакция запрашивается для фиксации, но уже откатана из-за тайм-аута. Вы можете увеличить тайм-аут транзакции, чтобы решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...