"customerCode"(String) 매개 변수를 가져 오는 EJB3 Stateless Session Bean을 작성하려고합니다. 이 "customerCode"에 의존하여 (동적으로 생성 된) PersistenceUnit으로 EntityManager (Persistence.createEntityManagerFactory ...)를 만들고 싶습니다.런타임에 파라미터 화 된 Persistence Unit + JTA DataSource 생성 (문맥에 따라 다름)
이름 (및 기본 데이터 소스)이 런타임에 추가/제거 될 수 있어야하므로 persistence.xml에서 PU를 정의 할 수 없습니다 (예 : 특정 고객 코드에 속한 새 데이터 소스/지속성 유닛 배포).
사전에 모든 customerCodes를 알고 있기 때문에 persistence.xml에 PU를 정의 할 수 있지만 컨테이너 (JBOSS)가 데이터 소스 XML 파일을 찾지 못하여 데이터 소스 XML 파일이 없으면 올바르게 EAR을 배치 할 수 없습니다. 일치하는 데이터 소스
무엇을 할 수 있습니까? 미리 감사드립니다. !
그러나 customerCode는 persistance.xml에 정의 된 지속성 단위 이름이어야합니까? Persistence.createEntityManagerFactory를 호출하기 전에 persistance unit을 정의해야합니다. 여기에있는 질문은 아마 런타임에 지속 유닛을 어떻게 재조정 할 것인가입니다. – simonC
재미있는 개념이 그것이 OP가 끝난 후의 것이라면. 그 구성으로 내려갈 것입니다하지만 난 새로운 PU를 만드는 개념을 내 머리를 얻을 수 없다 특히 어떤 새로운 배포 또는 서버를 restarts.With 어떤 POC는 그루비가 반드시 하나의 후보라고 생각하지만 당신은 여전히 수정해야합니다 스크립트는 다시 시작하지 않아도되지만 더 낮은 수준의 작업입니다. – Shahzeb
나는 tih가 JPA 스펙에 의해 지원되지 않는 곳을 읽었을뿐 아니라, 런타임시 지속성 단위 생성을 지원하는 datanucleus whith seam을 발견했다. 그래서 datanucleus가 그것을 할 수 있다면, 나는 여전히 어떻게 알아 내야한다 : -) – simonC