일부 EJB, 엔티티 등이있는 귀 내부의 GlassFish v2 서버에 완벽하게 작동하는 응용 프로그램 클라이언트가 배포되었습니다. eclipselink를 사용하고 있습니다.Java EE의 Persistence.createEntityManagerFactory()가 JTA 소스를 무시합니다.
<persistence-unit name="mysource">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/mysource</jta-data-source>
<class>entities.one</class>
<class>entities.two</class>
...
<properties>
<property name="eclipselink.target-server" value="SunAS9"/>
<property name="eclipselink.logging.level" value="FINE"/>
</properties>
</persistence-unit>
을 그리고 나는 EJB에 EntityManager
을 주입 할 때이 잘 작동 : 현재
내의 persistence.xml에있는
@PersistenceContext(unitName="mysource")
private EntityManager em;
가 지금은 동적으로 지속성 단위를 전환하는 요구 사항이/데이터베이스.
em = Persistence.createEntityManagerFactory("mysource").createEntityManager();
하지만 나는 다음과 같은 오류가 발생합니다 : 은 내가 프로그래밍 방식 EntityManager
를 얻을 수 있습니다 파악
Unable to acquire a connection from driver [null], user [null] and URL [null]
에도 Map
에 javax.persistence.jtaDataSource "에서"JDBC/MYSOURCE "를"무시 " 및 createEntityManagerFactory("mysource", map)
를 호출하면 차이를 만들지 않습니다.
을 나는 무엇을 놓치고?
이것은 작동해야하며 persistence.xml이 올바른 것처럼 보입니다. 클래스 경로에 여러 persistence.xml이 없는지 확인하십시오. – James