aries-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Ward <timothyjw...@apache.org>
Subject RE: Strange OpenJPA and BP problem
Date Tue, 15 Nov 2011 09:04:28 GMT

Hi Matt, 

Without more context it is very difficult to debug remotely - did anything get redeployed?
It looks like you've hit ARIES-765 to me.

Regards

Tim Ward
-------------------
Apache Aries PMC member & Enterprise OSGi advocate
Enterprise OSGi in Action (http://www.manning.com/cummins)
-------------------


Date: Mon, 14 Nov 2011 18:20:40 -0600
Subject: Strange OpenJPA and BP problem
From: mattmadhavan@gmail.com
To: user@aries.apache.org

Hello,I have configured an in-memory Derby data source with open jpa and Aries blueprint.
When ever I invoke a a query i'm getting the following InvalidState exception! Not getting
much info at all! Any ideas please?

<openjpa-2.1.0-r422266:1071316 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException:
The factory has been closed.  The stack trace at which the factory was closed is held in the
embedded exception.
        at org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen(AbstractBrokerFactory.java:676)
       at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:192)
        at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
       at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
       at org.apache.aries.jpa.container.impl.CountingEntityManagerFactory.createEntityManager(CountingEntityManagerFactory.java:70)
        at org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.getPersistenceContext(JTAEntityManager.java:92)
       at org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.createNamedQuery(JTAEntityManager.java:310)
        at com.hcsc.ccsp.foundation.core.activeclaims.impl.ReferenceTablesDaoImpl.findAllClmProcExcepRef(ReferenceTablesDaoImpl.java:55)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:50)       
at org.apache.aries.blueprint.proxy.Collaborator.invoke(Collaborator.java:91)        at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:78)
        at com.hcsc.ccsp.foundation.core.activeclaims.impl.$ReferenceTablesDaoImpl30102981.findAllClmProcExcepRef(Unknown
Source)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

.......
Caused by: java.lang.IllegalStateException        at org.apache.openjpa.kernel.AbstractBrokerFactory.close(AbstractBrokerFactory.java:406)
        at org.apache.openjpa.kernel.DelegatingBrokerFactory.close(DelegatingBrokerFactory.java:197)
       at org.apache.openjpa.persistence.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:275)
        at org.apache.aries.jpa.container.impl.CountingEntityManagerFactory.close(CountingEntityManagerFactory.java:60)
       at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.destroyEntityManagerFactories(EntityManagerFactoryManager.java:328)
        at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.bundleStateChange(EntityManagerFactoryManager.java:169)
       at org.apache.aries.jpa.container.impl.PersistenceBundleManager.modifiedBundle(PersistenceBundleManager.java:283)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:453)
       at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237)        at
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:413)
        at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
       at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
        at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3761)        at org.apache.felix.framework.Felix.updateBundle(Felix.java:2044)
        at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:936)        at org.apache.karaf.shell.dev.watch.BundleWatcher.run(BundleWatcher.java:107)
Any ideas please?

My datasource looks like this!
<?xml version="1.0" encoding="UTF-8"?><blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	default-activation="lazy">



	<bean id="derbyXADataSource" class="org.apache.derby.jdbc.EmbeddedXADataSource">
		<property name="databaseName" value="memory:CTS" />		<property name="createDatabase"
value="create" />
	</bean>
	<service id="xaDataSource" ref="derbyXADataSource" interface="javax.sql.XADataSource">
		<service-properties>			<entry key="osgi.jndi.service.name" value="jdbc/cts-transaction01"
/>
		</service-properties>	</service>
	<bean id="derbyDataSource" class="org.apache.derby.jdbc.EmbeddedDataSource">
	<property name="databaseName" value="memory:CTS" /> 		<property name="createDatabase"
value="create" />
	</bean>
	<service ref="derbyDataSource" interface="javax.sql.DataSource">
		<service-properties>			<entry key="osgi.jndi.service.name" value="jdbc/cts-transaction01-nojta"
/>
		</service-properties>	</service>  </blueprint>

My persistence.xml looks like:	<persistence-unit name="common.om.activeclaims"	transaction-type="JTA">
		<description>Persistence unit for pend error model</description>		<provider>
			org.apache.openjpa.persistence.PersistenceProviderImpl		</provider>
		<jta-data-source>osgi:service/javax.sql.DataSource/(transactional=true)</jta-data-source>
	<class>com.hcsc.ccsp.common.om.activeclaims.ActvClm</class>
		<class>com.hcsc.ccsp.common.om.activeclaims.ActvClmProcExcep</class>		<class>com.hcsc.ccsp.common.om.activeclaims.ActvClmProcExcepPK</class>
       .......
My Bean def:
	<bean id="claimExceptionDaoBean" 
	      class="com.hcsc.ccsp.foundation.core.activeclaims.impl.ClaimExceptionDaoImpl"> 
	<tx:transaction method="*" value="Required" /> 
		<jpa:context property="entityManager" unitname="common.om.activeclaims" />			    
 
	</bean>

Any help will be appreciated. Been struck in this for a few days now.

Thanks in advance!
Matt

 		 	   		  
Mime
View raw message