Невозможно инициализировать openjpa 2.4.3 / невозможно создать фабрику диспетчера сущностей - PullRequest
0 голосов
/ 17 декабря 2018

Я хочу обновить версию openjpa с 2.2.0 до 2.4.3
Она работала нормально с 2.2.0
Я заменил старый (2.2.0) файл jar новым (2.4.3), больше ничего не менял.Я проверил classpath проекта также после сборки.Путь 2.4.3 банок присутствует там.Но сейчас я получаю сообщение об ошибке при попытке загрузить его на сервер.Я использую сервер ATS для пакетной работы.Я работаю над Struts2 Framework.

55  JournalPersistence  INFO   [main] openjpa.Runtime - Starting OpenJPA 1.2.1-SNAPSHOT
145  JournalPersistence  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "com.ibm.finance.tools.glui.dao.CustomDB2Dictionary".
log4j:WARN No appenders could be found for logger (com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ExceptionInInitializerError
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:257)
Caused by: com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAOInitializationException: Failed to create Entity Manager Factory with persistence unit 'JournalPersistence'.
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:103)
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:81)
	at com.ibm.finance.tools.glui.journals.daemon.GLUIJobsDaemon.<clinit>(GLUIJobsDaemon.java:257)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)
Caused by: <openjpa-1.2.1-SNAPSHOT-r422266:686069 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: There were errors initializing your configuration: org.apache.openjpa.lib.util.ParseException: There was an error while setting up the configuration plugin option "Compatibility". The plugin was of type "org.apache.openjpa.conf.Compatibility". Setter methods for the following plugin properties were not available in that type: [CheckDatabaseForCascadePersistToDetachedEntity]. Possible plugin properties are: [CloseOnManagedCommit, CopyObjectIds, FlushBeforeDetach, JPQL, JPQL_EXTENDED, JPQL_STRICT, JPQL_WARN, NonOptimisticVersionCheck, QuotedNumbersInQueries, StoreMapCollectionInEntityAsBlob, StrictIdentityValues, ValidateFalseReturnsHollow, ValidateTrueChecksStore].
Ensure that your plugin configuration string uses key values that correspond to setter methods in the plugin class.
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:502)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getCompatibilityInstance(OpenJPAConfigurationImpl.java:1377)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:288)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1432)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
	at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:42)
	at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:27)
	at com.ibm.finance.tools.glui.dao.GLUIEntityManagerProvider.createEntityManager(GLUIEntityManagerProvider.java:91)
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:99)
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:81)
	at com.ibm.finance.tools.glui.journals.daemon.GLUIJobsDaemon.<clinit>(GLUIJobsDaemon.java:257)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)

	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:196)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
	at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:42)
	at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:27)
	at com.ibm.finance.tools.glui.dao.GLUIEntityManagerProvider.createEntityManager(GLUIEntityManagerProvider.java:91)
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:99)
	... 4 more
Caused by: java.lang.RuntimeException: There were errors initializing your configuration: org.apache.openjpa.lib.util.ParseException: There was an error while setting up the configuration plugin option "Compatibility". The plugin was of type "org.apache.openjpa.conf.Compatibility". Setter methods for the following plugin properties were not available in that type: [CheckDatabaseForCascadePersistToDetachedEntity]. Possible plugin properties are: [CloseOnManagedCommit, CopyObjectIds, FlushBeforeDetach, JPQL, JPQL_EXTENDED, JPQL_STRICT, JPQL_WARN, NonOptimisticVersionCheck, QuotedNumbersInQueries, StoreMapCollectionInEntityAsBlob, StrictIdentityValues, ValidateFalseReturnsHollow, ValidateTrueChecksStore].
Ensure that your plugin configuration string uses key values that correspond to setter methods in the plugin class.
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:502)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getCompatibilityInstance(OpenJPAConfigurationImpl.java:1377)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:288)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1432)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
	at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:42)
	at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:27)
	at com.ibm.finance.tools.glui.dao.GLUIEntityManagerProvider.createEntityManager(GLUIEntityManagerProvider.java:91)
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:99)
	at com.ibm.finance.tools.glui.journals.daemon.OpenJPAGluiDaemonDAO.<init>(OpenJPAGluiDaemonDAO.java:81)
	at com.ibm.finance.tools.glui.journals.daemon.GLUIJobsDaemon.<clinit>(GLUIJobsDaemon.java:257)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)

	at org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:302)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1432)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
	... 10 more

Это журналы ошибок из консоли.Я не уверен, почему openjpa 1.2.1 -SNAPSHOT загружается.Ниже приведен код единицы сохраняемости в файле persistence.xml

 <persistence-unit name="JournalPersistence" >
  <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
  <mapping-file>META-INF/glui-orm.xml</mapping-file>
  <properties>
   <property name="openjpa.jdbc.DBDictionary" value="com.ibm.finance.tools.glui.dao.CustomDB2Dictionary(batchLimit=100)"/>
   <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>
   <property name="openjpa.ConnectionProperties" value="DriverClassName=com.ibm.db2.jcc.DB2Driver,Url=jdbc:db2://eggt.megacenter.de.ibm.com:6071/MVSADM1_DBP1,Username=HD826DHU,Password=DHSK72C,maxTotal=-1,MaxIdle=14,MinIdle=0,MaxWait=-1,timeBetweenEvictionRunsMillis=60000"/>
   <property name="openjpa.jdbc.Schema" value="HOTAHSMJ" />	
   <property name="openjpa.jdbc.TransactionIsolation" value="read-uncommitted"/>
	<property name="openjpa.DataCache" value="true(CacheSize=5000) SoftReferenceSize=0" /> 
	<property name="openjpa.RemoteCommitProvider" value="sjvm" />
	<property name="openjpa.DataCache" value="true"/>	
	<property name="openjpa.LockManager" value="version"/>
	<property name="openjpa.Compatibility" value="CheckDatabaseForCascadePersistToDetachedEntity=true"/>

  </properties>
 </persistence-unit>

Java-код для инициализации и учетные данные БД верны, так как он работал нормально с версией 2.2.0
Любая помощь высоко ценится.

...