2011-12-09 3 views
2
내가 TomEE 4.0.0에 간단한 JPA 예를 시도하고 내가 내 세션 빈은 비 저장 한 경우

는 TomEE 4 JPA는 문제

작업 PersistenceContextType.EXTENDED을 얻고 PersistenceContextType을 떠날 수 없습니다입니다

다음 그것을 잘

를 작동
@PersistenceContext(unitName = "xxx") 
private EntityManager entityManager; 

내 세션 빈은 같은 비 상태 유지 한 후 나에게 완벽하게 정상적으로 및 리터에 배포하는 동안 오류, 제공이

@PersistenceContext(unitName = "xxx", type = PersistenceContextType.EXTENDED)) 
private EntityManager entityManager; 

를 사용하려고하면 기대와 함께.

그러나

내가 @Stateful로 내 콩을 할 때 지금, 다음 또한 나에게

Managed ejbs are not capable of using EntityManagers with EXTENTED persistence. Convert your bean to a Stateful ejb or update the "java:comp/env/com.testwebservice.TestJPAService/entityManager" PersistenceContext reference to PersistenceContextType.TRANSACTION. 

어떤 사람이 도움을 주시기 바랍니다 수있는 오류를 제공, 내가있는이

+0

변경 사항이 확인 되었습니까? 깨끗한 빌드를 사용하면 변경 사항이 적용되었는지 확인할 수 있습니다. 만약 당신이 여전히 그것을 직면, 전체 stacktrace를 추가 할 수 있습니까? – stratwine

+0

사이드 노트에서 TomEE는 4.0 버전이 아닙니다. 1.0-beta1이 릴리스되었으며 OpenEJB 4.0-beta1 릴리스를 사용합니다. – stratwine

답변

0

@Stateful 확장 된 영속 컨텍스트 정말 혼란 스러워요 TomEE 빌드 및 Java EE TCK에서 다양한 방법으로 테스트되었습니다.

아마도 이것은 완전히 다른 것입니다. 우리는 당신이 @Stateful로 변경되기 이전 @Stateless이었다 사실 주어진 com.testwebservice.TestJPAService을 포함하는 JNDI 이름을 보면 PersistenceContextType.EXTENDED

@Stateless의 잘못된 조합으로 기록하고 당신이 명백한 실수를 할 때 경고하기 위해 최선을 다하고, 내 이 콩은 불법 인 @WebService이기도합니다. @Stateful 콩은 @WebService 콩이 될 수 없습니다. 이 실수를 막기위한 적절한 점검이 없다면 실제로 콩이 두 번 배포되고 있다는 생각이들 것입니다. 한 번은 @Stateful 콩으로, 한 번은 pojo로 @WebService입니다. pojo 웹 서비스가 오류의 원인입니다.

오류 인 경우 명시 적으로 check that condition으로 JIRA를 제출했습니다.