0
Я пытаюсь протестировать DataNucleus JPAReplicationManager, но пока не работает.ClassCastException при использовании DataNucleus JPAReplicationManager
В моем пути к классам у меня есть:
antlr-2.7.7.jar
datanucleus-api-jpa-4.1.0-m1.jar
datanucleus-core-4.1.0-m1.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-4.0.5.Final.jar
hibernate-core-4.3.8.Final.jar
hibernate-entitymanager-4.3.8.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-1.1.0.Final.jar
javassist-3.18.1-GA.jar
jboss-logging-3.1.3.GA.jar
jboss-logging-annotations-1.2.0.Beta1.jar
jboss-transaction-api_1.2_spec-1.0.0.Final.jar
mysql-connector-java-5.1.32-bin.jar
Вот мой код:
EntityManagerFactory emf1 = master.getDbFactory();
EntityManagerFactory emf2 = slave.getDbFactory();
JPAReplicationManager replicator = new JPAReplicationManager(emf1, emf2);
replicator.replicate(new Class[]{Terminal.class});
Ошибка:
Exception in thread "main" java.lang.ClassCastException: org.hibernate.internal.SessionImpl cannot be cast to org.datanucleus.ExecutionContext
at org.datanucleus.api.jpa.JPAReplicationManager.replicate(JPAReplicationManager.java:133)
Таким образом, очевидно, что одна единица персистентности управляется Hibernate, а другая единица персистентности управляется datanucleus? Исключение, похоже, хочет сказать вам, что это не поддерживается, скорее всего, обе единицы персистентности должны управляться datanucleus. – Gimby