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: mattmadha...@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

                                          

Reply via email to