Mockito가 @TransactionManagement 주석으로 모의하는 것을 거부하는 문제가 발생했습니다. 이제 jee6에서 컨테이너 관리 트랜잭션을 원한다면이 주석이 필요하지 않다는 것을 알고 있습니다. 이것도 jee5의 경우입니까?@TransactionManagement 기본값을 CONTAINER로 설정하지 않습니까?
1
A
답변
2
EJB 3.0 (Java EE 5의 일부) 이래로 EJB 컨테이너에서 컨테이너 관리 트랜잭션이 기본값으로 사용되었습니다. 이전에는 ejb-jar.xml
배포 설명자에 transaction-type
을 Bean
또는 Container
으로 지정해야했습니다.
javadoc의 javax.ejb.TransactionManagement에 대한 상태 :
이 주석을 사용하지 않는 경우, 빈은 컨테이너 관리 트랜잭션 관리를 가정한다.
또한,의 §13.3.6는 EJB 3.0 사양도 상태 : 기본적으로
, 세션 빈 또는 메시지 구동 트랜잭션 관리 유형이 아닌 경우 빈 컨테이너가 트랜잭션 구분을 관리하고있다 지정된.
참조하는 JavaDoc은 jee7 버전입니다. https://docs.oracle.com/javaee/5/api/javax/ejb/TransactionManagement.html을 체크 아웃하면 주석이 없다는 것을 알 수 있습니다. 이것이 내가 처음으로 혼란을 야기한 이유입니다. 그 외, 사양에 대한 언급을 주신 덕분에 –
예 - 나는 스스로를 확인할 때 그것을 깨달았습니다. 따라서 두 번째 참조 ... –