Well, I'm mystified.  All the problems I knew about were from using java7 with 
relatively early aries bundles.  I've never heard of switching to java 7 
solving anything.

I'm glad it's working though....

david jencks

On Jul 25, 2012, at 1:10 PM, Jason wrote:

> David,
> 
> First off, thank you....I am embarrassed to admit that I have been banging my 
> head against this for two days now.
> 
> Upgrading to Java 7 did the trick.
> 
> Regards,
> Jason
> 
> On 07/25/2012 12:41 PM, Jason wrote:
>> David,
>> 
>> I am not on Java 7, but I would be willing to give it a whirl.
>> 
>> $ java -fullversion
>> 
>> java full version "1.6.0_24-b24"
>> 
>> 
>> I am using the aries proxy that ships out-of-the-box...from the Karaf 
>> startup.properties file:
>> 
>> org/apache/aries/proxy/org.apache.aries.proxy/0.3/org.apache.aries.proxy-0.3.jar=20
>>  
>> 
>> 
>> Regards,
>> Jason
>> 
>> On 07/25/2012 12:34 PM, David Jencks wrote:
>>> Are you on java 7?  I haven't followed this saga very closely but there 
>>> were some aries proxy changes needed for java 7.... which aries proxy 
>>> bundle do you have?
>>> 
>>> david jencks
>>> 
>>> On Jul 25, 2012, at 12:23 PM, Jason wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> Just an update...
>>>> 
>>>> I just downloaded a fresh version of Karaf-2.2.8, did a checkout of 
>>>> https://github.com/cschneider/Karaf-Tutorial, changed the
>>>> db/examplejpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml file to 
>>>> have a 'default-activation="lazy"', then followed the bundle install 
>>>> instructions in the readme.txt and this is the result:
>>>> 
>>>> karaf@root> person:add 'Christian Schneider' @schneider_chris
>>>> 
>>>> Error executing command: No transaction currently active
>>>> 
>>>> 
>>>> If I leave the 'default-activation="eager"', there is a java.lang.Verify 
>>>> exception thrown:
>>>> 
>>>> Caused by: java.lang.VerifyError: (class: 
>>>> net/lr/tutorial/karaf/db/examplejpa/impl/$PersonServiceImpl723600344, 
>>>> method: <init> signature: (Ljava/lang/reflect/InvocationHandler;)V) Call 
>>>> to wrong initialization method
>>>> 
>>>>    at java.lang.Class.getDeclaredConstructors0(Native Method)[:1.6.0_24]
>>>> 
>>>>    at 
>>>> java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)[:1.6.0_24]
>>>> 
>>>>    at java.lang.Class.getConstructor0(Class.java:2716)[:1.6.0_24]
>>>> 
>>>>    at java.lang.Class.getConstructor(Class.java:1674)[:1.6.0_24]
>>>> 
>>>>    at 
>>>> org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:159)
>>>> 
>>>>    at 
>>>> org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:81)
>>>> 
>>>> 
>>>> At the very least, this tells me that I am not doing anything wrong from 
>>>> within my codebase.  Yet, I am still hung up on this issue.  Suggestions?
>>>> 
>>>> Regards,
>>>> Jason
>>>> 
>>>> On 07/24/2012 09:14 PM, Jason Reilly wrote:
>>>>> David,
>>>>> 
>>>>> Yes....I deploy via a custom distribution, so all packages are set to 
>>>>> start on start-up.  And I restarted  the aries transaction bundle from 
>>>>> the interactive console.
>>>>> 
>>>>> Regards,
>>>>> Jason
>>>>> 
>>>>> 
>>>>> On 07/24/2012 08:39 PM, David Jencks wrote:
>>>>>> You did install/start the aries transaction manager bundle?
>>>>>> 
>>>>>> david jencks
>>>>>> 
>>>>>> On Jul 24, 2012, at 3:52 PM, Jason wrote:
>>>>>> 
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> I have been running into an exception lately and can't seem to remedy 
>>>>>>> the problem.  I am getting a 
>>>>>>> "javax.persistence.TransactionRequiredException: No transaction 
>>>>>>> currently active" exception.  I am using Karaf v2.2.8, ActiveMQ 5.6.0, 
>>>>>>> OpenJPA 2.1.1, and CXF 2.6.1.  I followed the Apache Aries sample blog 
>>>>>>> application, so there is a datasource registered via blueprint...looks 
>>>>>>> like this:
>>>>>>> 
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> 
>>>>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; 
>>>>>>> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"; 
>>>>>>> 
>>>>>>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>>>>>>> default-activation="lazy">
>>>>>>> 
>>>>>>>  <cm:property-placeholder persistent-id="edu.unc.mapseq.ds">
>>>>>>> 
>>>>>>>    <cm:default-properties>
>>>>>>> 
>>>>>>> ....snip....
>>>>>>> 
>>>>>>>    </cm:default-properties>
>>>>>>> 
>>>>>>>  </cm:property-placeholder>
>>>>>>> 
>>>>>>>  <bean id="mapseq-ds-jta" class="org.postgresql.xa.PGXADataSource">
>>>>>>> 
>>>>>>>    <property name="user" value="${username}" />
>>>>>>> 
>>>>>>>    <property name="password" value="${password}" />
>>>>>>> 
>>>>>>>    <property name="serverName" value="${serverName}" />
>>>>>>> 
>>>>>>>    <property name="databaseName" value="${databaseName}" />
>>>>>>> 
>>>>>>>    <property name="portNumber" value="${port}" />
>>>>>>> 
>>>>>>>  </bean>
>>>>>>> 
>>>>>>>  <service id="mapseqXADataSource" ref="mapseq-ds-jta" 
>>>>>>> interface="javax.sql.XADataSource">
>>>>>>> 
>>>>>>>    <service-properties>
>>>>>>> 
>>>>>>>      <entry key="osgi.jndi.service.name" value="jdbc/mapseqJTA" />
>>>>>>> 
>>>>>>>    </service-properties>
>>>>>>> 
>>>>>>>  </service>
>>>>>>> 
>>>>>>>  <bean id="mapseq-ds-no-jta" 
>>>>>>> class="org.postgresql.ds.PGPoolingDataSource">
>>>>>>> 
>>>>>>>    <property name="user" value="${username}" />
>>>>>>> 
>>>>>>>    <property name="password" value="${password}" />
>>>>>>> 
>>>>>>>    <property name="serverName" value="${serverName}" />
>>>>>>> 
>>>>>>>    <property name="databaseName" value="${databaseName}" />
>>>>>>> 
>>>>>>>    <property name="portNumber" value="${port}" />
>>>>>>> 
>>>>>>>    <property name="initialConnections" value="${maxIdle}" />
>>>>>>> 
>>>>>>>    <property name="maxConnections" value="${maxActive}" />
>>>>>>> 
>>>>>>>  </bean>
>>>>>>> 
>>>>>>>  <service id="mapseqDataSource" ref="mapseq-ds-no-jta" 
>>>>>>> interface="javax.sql.DataSource">
>>>>>>> 
>>>>>>>    <service-properties>
>>>>>>> 
>>>>>>>      <entry key="osgi.jndi.service.name" value="jdbc/mapseqNoJTA" />
>>>>>>> 
>>>>>>>    </service-properties>
>>>>>>> 
>>>>>>>  </service>
>>>>>>> 
>>>>>>> </blueprint>
>>>>>>> 
>>>>>>> 
>>>>>>> Here is the persistence.xml:
>>>>>>> 
>>>>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"; 
>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>>> 
>>>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
>>>>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
>>>>>>> 
>>>>>>>  version="1.0">
>>>>>>> 
>>>>>>>  <persistence-unit name="mapseq" transaction-type="JTA">
>>>>>>> 
>>>>>>> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>>>>>>>  
>>>>>>> 
>>>>>>> <jta-data-source>aries:services/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/mapseqJTA)</jta-data-source>
>>>>>>>  
>>>>>>> 
>>>>>>> <non-jta-data-source>aries:services/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/mapseqNoJTA)</non-jta-data-source>
>>>>>>>  
>>>>>>> 
>>>>>>> ...snip...
>>>>>>> 
>>>>>>> <exclude-unlisted-classes>true</exclude-unlisted-classes>
>>>>>>> 
>>>>>>>    <properties>
>>>>>>> 
>>>>>>>      <!-- <property name="openjpa.jdbc.SynchronizeMappings" 
>>>>>>> value="buildSchema(ForeignKeys=true)" /> -->
>>>>>>> 
>>>>>>>      <!-- <property name="openjpa.Log" value="DefaultLevel=TRACE, 
>>>>>>> Runtime=TRACE, Tool=TRACE, SQL=TRACE" /> -->
>>>>>>> 
>>>>>>>      <property name="openjpa.jdbc.MappingDefaults" 
>>>>>>> value="ForeignKeyDeleteAction=restrict, 
>>>>>>> JoinForeignKeyDeleteAction=restrict" />
>>>>>>> 
>>>>>>>      <property name="openjpa.Log" value="DefaultLevel=WARN, 
>>>>>>> Runtime=INFO, Tool=INFO, SQL=WARN" />
>>>>>>> 
>>>>>>>      <property name="openjpa.jdbc.DBDictionary" 
>>>>>>> value="postgres(SearchStringEscape=\, SupportsXMLColumn=false)" />
>>>>>>> 
>>>>>>>      <property name="openjpa.DataCache" value="false" />
>>>>>>> 
>>>>>>>      <property name="openjpa.QueryCache" value="false" />
>>>>>>> 
>>>>>>>    </properties>
>>>>>>> 
>>>>>>>  </persistence-unit>
>>>>>>> 
>>>>>>> </persistence>
>>>>>>> 
>>>>>>> 
>>>>>>> And finally, the blueprint.xml file to register JPA DAO services:
>>>>>>> 
>>>>>>> <?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";
>>>>>>> 
>>>>>>> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"; 
>>>>>>> xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.0.0";
>>>>>>> 
>>>>>>>  default-activation="lazy">
>>>>>>> 
>>>>>>>  <bean id="accessControlDAOImpl" 
>>>>>>> class="edu.unc.mapseq.dao.jpa.AccessControlDAOImpl" init-method="init">
>>>>>>> 
>>>>>>>    <tx:transaction method="*" value="Required" />
>>>>>>> 
>>>>>>>    <jpa:context property="entityManager" unitname="mapseq" />
>>>>>>> 
>>>>>>>  </bean>
>>>>>>> 
>>>>>>>  <service ref="accessControlDAOImpl" 
>>>>>>> interface="edu.unc.mapseq.dao.AccessControlDAO" />
>>>>>>> ...snip...
>>>>>>> 
>>>>>>> </blueprint>
>>>>>>> 
>>>>>>> 
>>>>>>> Here is part of the stacktrace:
>>>>>>> 
>>>>>>> Caused by: javax.persistence.TransactionRequiredException: No 
>>>>>>> transaction currently active
>>>>>>> 
>>>>>>>    at 
>>>>>>> org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry.getCurrentPersistenceContext(JTAPersistenceContextRegistry.java:103)
>>>>>>> 
>>>>>>>    at 
>>>>>>> org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.getPersistenceContext(JTAEntityManager.java:83)
>>>>>>> 
>>>>>>>    at 
>>>>>>> org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.persist(JTAEntityManager.java:278)
>>>>>>> 
>>>>>>>    at edu.unc.mapseq.dao.jpa.BaseDAOImpl.save(BaseDAOImpl.java:36)
>>>>>>> 
>>>>>>>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
>>>>>>> Method)[:1.6.0_24]
>>>>>>> 
>>>>>>>    at 
>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.6.0_24]
>>>>>>> 
>>>>>>>    at 
>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.6.0_24]
>>>>>>> 
>>>>>>>    at java.lang.reflect.Method.invoke(Method.java:616)[:1.6.0_24]
>>>>>>> 
>>>>>>>    at 
>>>>>>> org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:50) 
>>>>>>> 
>>>>>>>    at 
>>>>>>> org.apache.aries.proxy.impl.DefaultWrapper.invoke(DefaultWrapper.java:31)
>>>>>>> 
>>>>>>>    at 
>>>>>>> org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:78) 
>>>>>>> 
>>>>>>>    at $Proxy112.save(Unknown Source)
>>>>>>> 
>>>>>>>    at 
>>>>>>> edu.unc.mapseq.ws.impl.HTSFSampleServiceImpl.save(HTSFSampleServiceImpl.java:45)[234:mapseq-web-service-htsf-sample:0.0.1.SNAPSHOT]
>>>>>>> 
>>>>>>> 
>>>>>>> The exception occurs whenever I try to do anything that is transaction 
>>>>>>> related (like persisting an entity).  I have set the logging in Karaf 
>>>>>>> to DEBUG and I can't seem to find anything out of the ordinary.  Anyone 
>>>>>>> seen this before??? Suggested solutions? Suggestions for debugging 
>>>>>>> further?
>>>>>>> 
>>>>>>> 
>>>>>>> Regards,
>>>>>>> Jason
>>>>>>> 
>> 
> 

Reply via email to