迁移到Hibernate-5.2.12.Final]之前,以下代码已在hibernate 4中正常工作:
@Override @TransactionalEventListener @Transactional public void afterCommitAsyncMethod(long personId) { Person person = super.loadByEntityId(personId); person.setTransferenceStatus(1); iPersonService.save(person); }
该事件来自:
@Autowire private ApplicationEventPublisher applicationEventPublisher; @Override @Transactional public boolean generate(Long id) { Person model = loadByEntityId(id); applicationEventPublisher.publishEvent(new Long(id)); //there are its own business logic return true; }
但是在迁移到Hibernate-5.2.12.Final]之后,
Transactional
处的afterCommitAsyncMethod
无法工作,因此Person对象所插入的对象没有更新。
问题出在哪里,迁移后必须添加什么配置?
在迁移到Hibernate-5.2.12.Final之前,以下代码已在hibernate 4中正常工作:@Override @TransactionalEventListener @Transactional public void afterCommitAsyncMethod(long ...
我在spring-source中的以下方法中遇到异常。
public static Mono<Void> invokeAfterCompletion(Collection<TransactionSynchronization> synchronizations, int completionStatus) {
return Flux.fromIterable(synchronizations).concatMap((it) -> {
return it.afterCompletion(completionStatus);
}).onErrorContinue((t, o) -> {
logger.error("TransactionSynchronization.afterCompletion threw exception", t);
}).then();
}