无法初始化openjpa 2.4.3 /无法创建实体管理器工厂

时间:2018-12-17 12:15:25

标签: java xml struts2 openjpa

我想将openjpa版本从2.2.0升级到2.4.3
它在2.2.0下工作正常
我用新的(2.4.3)替换了旧的(2.2.0)jar文件)之一,没有改变其他任何东西。生成后,我还检查了项目类路径。 2.4.3 jar的路径在那里。但是现在尝试在服务器上加载时出现错误。我正在使用ATS服务器进行批处理作业。我正在研究struts2框架。

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初始化和DB凭证的Java代码正确无误,因为它在2.2.0版中可以正常工作。
我们非常感谢您的帮助。

0 个答案:

没有答案