You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@aries.apache.org by Matt Madhavan <ma...@gmail.com> on 2011/11/15 01:20:40 UTC

Strange OpenJPA and BP problem

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

RE: Strange OpenJPA and BP problem

Posted by Timothy Ward <ti...@apache.org>.
Hi Matt,

No fix, or proposed fix, yet. You should feel free to have a look. Also you could avoid packaging your entities separately from your persistence.xml. The JPA service specification states pretty clearly that packaging entities and persistence.xml in this way is not supported. If you avoid the packaging split then you will never hit this problem.

Regards

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


Date: Tue, 15 Nov 2011 14:34:23 -0600
Subject: Re: Strange OpenJPA and BP problem
From: mattmadhavan@gmail.com
To: user@aries.apache.org

Hi Tim.Yes I ran to ARIES-765!
I do have my entities and presistence.xml in two different bundles.
After installing the persistence bundle and doing a "reffresh" in command line does seem to work!

Any fixes for ARIES-765 yet?
ThanksMatt

On Tue, Nov 15, 2011 at 1:05 PM, Matt Madhavan <ma...@gmail.com> wrote:

Hi Tim,I'm running this in KARAF. Everything seems to deploy and all the bundles are active with all the services on.

Any idea please? Whats the work around for  ARIES-765 ?


Thanks in advance!


Matt

On Tue, Nov 15, 2011 at 3:04 AM, Timothy Ward <ti...@apache.org> wrote:







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

 		 	   		  



 		 	   		  

Re: Strange OpenJPA and BP problem

Posted by Matt Madhavan <ma...@gmail.com>.
Hi Tim.
Yes I ran to ARIES-765!

I do have my entities and presistence.xml in two different bundles.

After installing the persistence bundle and doing a "reffresh" in command
line does seem to work!

Any fixes for ARIES-765 yet?

Thanks
Matt


On Tue, Nov 15, 2011 at 1:05 PM, Matt Madhavan <ma...@gmail.com>wrote:

> Hi Tim,
> I'm running this in KARAF. Everything seems to deploy and all the bundles
> are active with all the services on.
>
> Any idea please? Whats the work around for  ARIES-765 ?
>
> Thanks in advance!
>
> Matt
>
>
> On Tue, Nov 15, 2011 at 3:04 AM, Timothy Ward <ti...@apache.org>wrote:
>
>>  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
>>
>>
>>
>

Re: Strange OpenJPA and BP problem

Posted by Matt Madhavan <ma...@gmail.com>.
Hi Tim,
I'm running this in KARAF. Everything seems to deploy and all the bundles
are active with all the services on.

Any idea please? Whats the work around for  ARIES-765 ?

Thanks in advance!

Matt


On Tue, Nov 15, 2011 at 3:04 AM, Timothy Ward <ti...@apache.org>wrote:

>  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
>
>
>

RE: Strange OpenJPA and BP problem

Posted by Timothy Ward <ti...@apache.org>.
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