다른 서버 (각 고객에 대해 하나의 데이터베이스)에 동일한 구조로 할당 된 여러 데이터베이스가 있으므로 내 응용 프로그램에 연결해야합니다 그들 모두는 동적으로 을 사용합니다. 따라서 고객 X가 일부 데이터베이스 작업을 수행 할 때 응용 프로그램은 런타임에 데이터베이스가 연결되는 소리를 결정해야합니다.이 작업은이 특정 데이터베이스에서만 수행됩니다. 또 다른 문제가 있습니다. 하나의 연결 풀을 만들어야합니다. 내 고객 중 하나가 연결에 실패하면 글래스 피시가 시작되지 않습니다.하나의 동적 EntityManager, 트랜잭션 유형 = "JTA"인 여러 데이터베이스에 연결
나는 모든 곳에서 보았으며 좋은 해결책을 찾지 못했습니다. 누구든지 나를 도울 수 있을까? EclipseLink에서 EJB 3 및 JPA2를 사용하고 있습니다.
PersistenceContext 주석의 unitName 값을 런타임에 변경하면 작동 할 수 있습니다. 가능하면 누구에게 알릴 수 있습니까?
응용 프로그램에서 원하는 것을 더 살피셔야합니다. 비슷한 데이터베이스 구조는 동일한 Java 엔티티 모델을 사용한다는 것을 의미합니까? 엔티티를 검색하려고하면 JPA에서 볼 데이터베이스는 무엇입니까? 어떤 데이터베이스가 쓰여지는지 어떻게 제어 할 것으로 예상합니까? 가장 간단한 솔루션은 각각 자체 데이터베이스에 자체 데이터 소스가있는 여러 지속성 유닛을 작성하는 것입니다. 그런 다음 xa 데이터 소스를 서버의 JTA에 연결합니다. – Chris
질문에 답글이 있습니다. @Chris – lucianovcnt
데이터 소스에 연결할 수없는 경우 Glassfish가 시작되지 않는 이유가 확실하지 않습니다. 글래스 피쉬에서 데이터 소스를 만드는 방법은 여러 가지가 있습니다. 글래스 피시가 데이터 소스와 독립적으로 시작될 수 있다고 가정합니다. 컨테이너 관리 지속성 유닛을 사용할 때 데이터 소스를 사용할 수 없을 때 응용 프로그램이 작동하지 않는다고 말하는가? – Chris