我们在运行基于JDO的程序时在运行时获得Null指针异常。
java.lang.NullPointerException
at org.datanucleus.ExecutionContextPool.checkOut(ExecutionContextPool.java:97)
at org.datanucleus.PersistenceNucleusContextImpl.getExecutionContext(PersistenceNucleusContextImpl.java:1130)
at org.datanucleus.api.jdo.JDOPersistenceManager.<init>(JDOPersistenceManager.java:143)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.newPM(JDOPersistenceManagerFactory.java:853)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManager(JDOPersistenceManagerFactory.java:832)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManager(JDOPersistenceManagerFactory.java:813)
我们正在使用JDO 4.0。 场景是:该应用程序在一段时间内完美运行,但经过一段时间后,在运行过程中我们遇到了Nullpointer异常。
同样的解决方案是什么? PMF正在使用Spring创建。
<!--PersistenceManagerFactory -->
<bean id="pmf" class="org.datanucleus.api.jdo.JDOPersistenceManagerFactory"
destroy-method="close">
<property name="connectionFactory" ref="dataSource" />
<property name="schema" value="PROVISIONING" />
<property name="persistenceProperties">
<map>
<entry key="datanucleus.metadata.supportORM" value="true" />
<entry key="datanucleus.autoCreateTables" value="true" />
<entry key="datanucleus.autoCreateColumns" value="true" />
<entry key="datanucleus.autoCreateConstraints" value="true" />
<entry key="datanucleus.autoCreateSchema" value="false" />
<entry key="javax.jdo.mapping.Schema" value="PROVISIONING" />
<entry key="datanucleus.manageRelationshipsChecks" value="true" />
<entry key="datanucleus.identifier.case" value="UpperCase" />
<entry key="datanucleus.validateTables" value="false" />
<entry key="datanucleus.validateConstraints" value="false" />
<entry key="datanucleus.validateColumns" value="false" />
<entry key="datanucleus.rdbms.CheckExistTablesOrViews" value="false" />
<entry key="datanucleus.rdbms.initializeColumnInfo" value="None" />
<entry key="javax.jdo.option.Mapping" value="h2" />
<entry key="datanucleus.storeManagerType" value="rdbms" />
<entry key="datanucleus.Multithreaded" value="true" />
<entry key="datanucleus.metadata.allowAnnotations" value="false" />
<entry key="datanucleus.enableStatistics" value="true" />
</map>
</property>
</bean>