데이터베이스에 엔티티를 지속시키기 위해 스테이트리스 빈을 배치 할 수 있습니다. 이 상태없는 빈은 메시지 빈의 onMessage 메소드에 의해 호출된다. 유선의 것은 첫 번째 메시지에서 모든 것이 잘 작동하지만, 다음 메시지에서 메소드가 REQUIRES_NEW로 주석을 달았음에도 불구하고 트랜잭션 외부에서 지속성을 담당하는 메소드가 호출된다는 것입니다. javax.persistence.TransactionRequiredException :에 의한주석 처리 된 REQUIRES_NEW 메소드가 트랜잭션없이 실행됩니까?
:
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public StateChange persistChange(long deviceId, ...) { ... StateChange change = new StateChange(...); em.persist(change); em.refresh(change); // To provoke the error return change; }
호출 새로 고침 다음과 같은 예외를 트리거에는 트랜잭션이 진행
어떤 아이디어에 없다? 나는 JTA를 처음 보았 기 때문에 중요한 것을 놓친 것일까?