persistence.xml для нескольких постоянных единиц

Я пытаюсь сохранить одну и ту же сущность в базах данных MySQL и Postgres (это в первую очередь для выявления любых несоответствий и выяснения деталей любых проблем, связанных с двойной записью - с которыми я столкнулся здесь). В статьях, которые я нашел, есть все описанные решения, которые зависят от дополнительных платформ. Я пытаюсь решить эту проблему с помощью Glassfish 4.0 из коробки, JPA 2.1 с EclipseLink 2.5 в качестве поставщика JPA. Я использую Eclipse и понимаю, что IDE не поддерживает настройку нескольких модулей персистентности в файле persistence.xml, поэтому я пишу XML для этого напрямую.

Я ожидал сделать что-то подобное в коде (в том же методе):

@PersistenceContext(name = "MyAppMySQLPU")
EntityManager emMySQL;
@PersistenceContext(name = "MyAppPostgresPU")
EntityManager emPostgres;
//...etc...
MyThing thing = new MyThing();
//...etc...
emMySQL.persist(thing);
emPostgres.persist(thing);

и использоватьpersistence.xml файл, содержащий это:

  <persistence-unit name="MyAppPostgresPU">
    <jta-data-source>jdbc/PostgresPool_test</jta-data-source>
    <class>model.MyThing</class>
  </persistence-unit>

  <persistence-unit name="MyAppMySQLPU">
    <jta-data-source>jdbc/MySQLPool_test</jta-data-source>
    <class>model.MyThing</class>
  </persistence-unit>

Когда я делаю это, я получаю следующую ошибку:

SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method
SEVERE: Exception while preparing the app
SEVERE: Exception while preparing the app : Could not resolve a persistence unit corresponding to the persistence-context-ref-name [MyAppPostgresPU] in the scope of the module called [MyApp]. Please verify your application.

Но, если я включу только один из<persistence-unit> Фразы (не имеет значения, какая), сущность сохраняется в связанной базе данных - я просто не могу понять, как заставить ее работать с обеими одновременно (без использования функции сохранения в дополнительных платформах).

Ответы на вопрос(1)

Ваш ответ на вопрос