As user of Karaf,
I'd expect to run my application as is without further changing if I stick
to the features I used before.
That's why we now have the 5th person beeing stuck at a point of agony
where everything fails.
This is just wrong. And merely pointing to some blogs/turorials
out-of-karafs scope is not helpful.

I think I already wrote it on one ml or the other, it has to be made sure
that users have an easy transition and that stuff they know which had been
working is still working.
>From my point of view the migration to Karaf 4 regarding JPA isn't as
straight forward as users (and I) are expecting.
So we need to focus on this and fix it.

Regards, Achim



2015-11-25 20:45 GMT+01:00 Jean-Baptiste Onofré <[email protected]>:

> Hi Christian,
>
> good point for the documentation, I was more thinking about a step by step
> tutorial and a reference to the Aries website.
>
> Agree to separate in a new code. The point is more for the users using
> Karaf 3 to directly use Karaf 4 without changing their application (at
> least at first step), like we do with the shell-compat feature for the
> shell commands. I agree with you that users should update their code at
> some points.
>
> Regards
> JB
>
>
> On 11/25/2015 08:41 PM, Christian Schneider wrote:
>
>> The documentation at the Aries web site already explains the main steps.
>> So I think I would not duplicate this in the karaf dev guide. Maybe in
>> tutorial form but I think the
>> reference documentation should be at Aries.
>>
>> It should be possible to support the old namespace but I would at least
>> like  to keep it separate from the new code so we can remove it easily
>> at a later point.
>>
>> Christian
>>
>> Am 25.11.2015 um 08:08 schrieb Jean-Baptiste Onofré:
>>
>>> You were faster than I Christian ;)
>>> Thanks ;)
>>>
>>> I will improve the dev guide to provide a clear picture to the users.
>>>
>>> By the way, don't you think it would be possible to support previous
>>> namespace (jpa/v1.0.0) ? It would be convenient for a migration like
>>> Jason's use case.
>>>
>>> Regards
>>> JB
>>>
>>> On 11/25/2015 08:05 AM, Christian Schneider wrote:
>>>
>>>> The old namespace for jpa is not supported anymore by Aries JPA 2.x. Can
>>>> you try with the new namespaces like used in my
>>>> tutorial code? You will need to use annoations then.
>>>>
>>>> For transactions you can still use the old namespace but I would also
>>>> recommend the new one.
>>>>
>>>> Christian
>>>>
>>>>
>>>> On 24.11.2015 17:22, Jason Reilly wrote:
>>>>
>>>>> <?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="eager">
>>>>>
>>>>>   <bean id="alignmentDAOImpl"
>>>>> class="org.renci.hearsay.dao.jpa.AlignmentDAOImpl">
>>>>>
>>>>>     <tx:transaction method="*" value="Required" />
>>>>>
>>>>>     <jpa:context property="entityManager" unitname="hearsay" />
>>>>>
>>>>>   </bean>
>>>>>
>>>>> ...snip....
>>>>>
>>>>>   <service ref="alignmentDAOImpl"
>>>>> interface="org.renci.hearsay.dao.AlignmentDAO" />
>>>>>
>>>>> ...snip....
>>>>>
>>>>>   <bean id="hearsayDAOBeanService"
>>>>> class="org.renci.hearsay.dao.HearsayDAOBean">
>>>>>
>>>>>     <property name="alignmentDAO" ref="alignmentDAOImpl" />
>>>>>
>>>>> ...snip....
>>>>>
>>>>>   </bean>
>>>>>
>>>>>   <service ref="hearsayDAOBeanService"
>>>>> interface="org.renci.hearsay.dao.HearsayDAOBeanService" />
>>>>>
>>>>> </blueprint>
>>>>>
>>>>>
>>>>> On 11/24/2015 11:19 AM, Jean-Baptiste Onofré wrote:
>>>>>
>>>>>> Can you share the blueprint XML in your hearsay-dao-jpa bundle ?
>>>>>>
>>>>>> On 11/24/2015 04:57 PM, Jason Reilly wrote:
>>>>>>
>>>>>>> I tried 1.0.0 for those urls & here is the error message:
>>>>>>>
>>>>>>> 2015-11-24 10:56:12,317 | INFO  | pool-47-thread-1 |
>>>>>>> BlueprintContainerImpl           | 34 -
>>>>>>> org.apache.aries.blueprint.core
>>>>>>> - 1.4.5 | Bundle hearsay-dao-jpa/0.0.46.SNAPSHOT is waiting for
>>>>>>> namespace handlers
>>>>>>> [http://aries.apache.org/xmlns/transactions/v1.0.0,
>>>>>>> http://aries.apache.org/xmlns/jpa/v1.0.0]
>>>>>>>
>>>>>>>
>>>>>>> On 11/24/2015 10:55 AM, Jason Reilly wrote:
>>>>>>>
>>>>>>>> I gave that a whirl...here are the details:
>>>>>>>>
>>>>>>>> In my pom.xml which builds my custom Karaf distribution:
>>>>>>>>
>>>>>>>> ...snip..
>>>>>>>>
>>>>>>>>          <bootFeatures>
>>>>>>>>
>>>>>>>>             <feature>feature</feature>
>>>>>>>>
>>>>>>>>             <feature>shell</feature>
>>>>>>>>
>>>>>>>>             <feature>bundle</feature>
>>>>>>>>
>>>>>>>>             <feature>config</feature>
>>>>>>>>
>>>>>>>>             <feature>diagnostic</feature>
>>>>>>>>
>>>>>>>>             <feature>instance</feature>
>>>>>>>>
>>>>>>>>             <feature>jaas</feature>
>>>>>>>>
>>>>>>>>             <feature>log</feature>
>>>>>>>>
>>>>>>>>             <feature>package</feature>
>>>>>>>>
>>>>>>>>             <feature>service</feature>
>>>>>>>>
>>>>>>>>             <feature>system</feature>
>>>>>>>>
>>>>>>>>             <feature>ssh</feature>
>>>>>>>>
>>>>>>>>             <feature>management</feature>
>>>>>>>>
>>>>>>>>             <feature>deployer</feature>
>>>>>>>>
>>>>>>>>         <feature>obr</feature>
>>>>>>>>
>>>>>>>>             <feature>http</feature>
>>>>>>>>
>>>>>>>>         <feature>war</feature>
>>>>>>>>
>>>>>>>>         <feature>jetty</feature>
>>>>>>>>
>>>>>>>>         <feature>scr</feature>
>>>>>>>>
>>>>>>>>             <feature>jndi</feature>
>>>>>>>>
>>>>>>>> <feature>aries-blueprint</feature>
>>>>>>>>
>>>>>>>>         <feature>cxf</feature>
>>>>>>>>
>>>>>>>>             <feature>jdbc</feature>
>>>>>>>>
>>>>>>>> <feature>transaction-api/1.1.0</feature>
>>>>>>>>
>>>>>>>> <feature>openjpa/${openjpa.version}</feature>
>>>>>>>>
>>>>>>>> <feature>spring/${spring.version}_1</feature>
>>>>>>>>
>>>>>>>> <feature>spring-orm/${spring.version}_1</feature>
>>>>>>>>
>>>>>>>> <feature>spring-web/${spring.version}_1</feature>
>>>>>>>>
>>>>>>>>         <feature>hearsay-commons</feature>
>>>>>>>>
>>>>>>>>         <!-- <feature>hearsay-dao</feature> -->
>>>>>>>>
>>>>>>>>           </bootFeatures>
>>>>>>>>
>>>>>>>> ...snip...
>>>>>>>>
>>>>>>>>
>>>>>>>> From the Karaf prompt:
>>>>>>>>
>>>>>>>> karaf@root()> list
>>>>>>>>
>>>>>>>> START LEVEL 100 , List Threshold: 50
>>>>>>>>
>>>>>>>>  ID | State  | Lvl | Version            | Name
>>>>>>>>
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>   8 | Active |  80 | 1.5.0              | OPS4J Base - Lang
>>>>>>>>
>>>>>>>>   9 | Active |  80 | 1.5.0              | OPS4J Base - Service
>>>>>>>> Provider Access
>>>>>>>>
>>>>>>>>  10 | Active |  80 | 0.7.0              | OPS4J Pax JDBC Generic
>>>>>>>> Driver Extender
>>>>>>>>
>>>>>>>>  11 | Active |  80 | 0.7.0              | OPS4J Pax JDBC Config
>>>>>>>>
>>>>>>>>  12 | Active |  80 | 1.8.1              | OPS4J Pax Swissbox ::
>>>>>>>> OSGi Core
>>>>>>>>
>>>>>>>>  13 | Active |  80 | 1.8.1              | OPS4J Pax Swissbox ::
>>>>>>>> Extender
>>>>>>>>
>>>>>>>>  14 | Active |  80 | 1.8.1              | OPS4J Pax Swissbox ::
>>>>>>>> Lifecycle
>>>>>>>>
>>>>>>>>  15 | Active |  80 | 1.0.0.201505202023 |
>>>>>>>> org.osgi:org.osgi.service.jdbc
>>>>>>>>
>>>>>>>>  16 | Active |  80 | 2.4.1              | Jackson-annotations
>>>>>>>>
>>>>>>>>  17 | Active |  80 | 2.4.1              | Jackson-core
>>>>>>>>
>>>>>>>>  18 | Active |  80 | 2.4.1              | jackson-databind
>>>>>>>>
>>>>>>>>  19 | Active |  80 | 2.4.1              | Jackson-JAXRS-base
>>>>>>>>
>>>>>>>>  20 | Active |  80 | 2.4.1              | Jackson-JAXRS-JSON
>>>>>>>>
>>>>>>>>  21 | Active |  80 | 2.4.1              |
>>>>>>>> Jackson-module-JAXB-annotations
>>>>>>>>
>>>>>>>>  27 | Active |  80 | 1.1.0.Final        | Bean Validation API
>>>>>>>>
>>>>>>>>  49 | Active |  80 | 1.8.3              | Commons BeanUtils
>>>>>>>>
>>>>>>>>  50 | Active |  80 | 1.2                | Commons CLI
>>>>>>>>
>>>>>>>>  52 | Active |  80 | 3.2.1              | Commons Collections
>>>>>>>>
>>>>>>>>  53 | Active |  80 | 4.0.0              | Apache Commons Collections
>>>>>>>>
>>>>>>>>  54 | Active |  80 | 1.4.0              | Commons Compress
>>>>>>>>
>>>>>>>>  55 | Active |  80 | 0.5                | Commons Discovery
>>>>>>>>
>>>>>>>>  56 | Active |  80 | 1.3.1              | Commons Email
>>>>>>>>
>>>>>>>>  57 | Active |  80 | 2.4.0              | Commons IO
>>>>>>>>
>>>>>>>>  59 | Active |  80 | 3.4.0              | Apache Commons Lang
>>>>>>>>
>>>>>>>>  60 | Active |  80 | 3.5.0              | Apache Commons Math
>>>>>>>>
>>>>>>>>  61 | Active |  80 | 3.3.0              | Commons Net
>>>>>>>>
>>>>>>>>  62 | Active |  80 | 1.5.6              | Commons Pool
>>>>>>>>
>>>>>>>> 105 | Active |  80 | 1.1.1              | geronimo-jms_1.1_spec
>>>>>>>>
>>>>>>>> 106 | Active |  80 | 1.1                | Apache Geronimo JSR-317
>>>>>>>> JPA
>>>>>>>> 2.0 Spec API
>>>>>>>>
>>>>>>>> 107 | Active |  80 | 1.1.1              | geronimo-jta_1.1_spec
>>>>>>>>
>>>>>>>> 123 | Active |  80 | 4.0.3              | Apache Karaf :: JDBC ::
>>>>>>>> Core
>>>>>>>>
>>>>>>>> 137 | Active |  80 | 2.0.9              | Apache MINA Core
>>>>>>>>
>>>>>>>> 139 | Active |  80 | 2.4.0              | OpenJPA Aggregate Jar
>>>>>>>>
>>>>>>>> 141 | Active |  80 | 1.7.0.6            | Apache ServiceMix ::
>>>>>>>> Bundles
>>>>>>>> :: ant
>>>>>>>>
>>>>>>>> 143 | Active |  80 | 1.7.4.1            | Apache ServiceMix ::
>>>>>>>> Bundles
>>>>>>>> :: aspectj
>>>>>>>>
>>>>>>>> 145 | Active |  80 | 1.4.0.3            | Apache ServiceMix ::
>>>>>>>> Bundles
>>>>>>>> :: commons-dbcp
>>>>>>>>
>>>>>>>> 154 | Active |  80 | 1.14.1.1           | Apache ServiceMix ::
>>>>>>>> Bundles
>>>>>>>> :: serp
>>>>>>>>
>>>>>>>> 162 | Active |  80 | 1.3.2.RELEASE_2    | Apache ServiceMix ::
>>>>>>>> Bundles
>>>>>>>> :: spring-ldap
>>>>>>>>
>>>>>>>> 180 | Active |  80 | 4.3.0              | Apache XBean :: ASM 5
>>>>>>>> shaded
>>>>>>>> (repackaged)
>>>>>>>>
>>>>>>>> 229 | Active |  80 | 9.4.0.build-1205   | PostgreSQL JDBC Driver
>>>>>>>> JDBC41
>>>>>>>>
>>>>>>>> 230 | Active |  80 | 2.2.7.RELEASE      | Spring Batch Core
>>>>>>>>
>>>>>>>> 231 | Active |  80 | 2.2.7.RELEASE      | Spring Batch
>>>>>>>> Infrastructure
>>>>>>>>
>>>>>>>> 232 | Active |  80 | 1.4.1.RELEASE      | Spring Data Commons Core
>>>>>>>>
>>>>>>>> 237 | Active |  80 | 3.2.8.RELEASE      | Spring Security LDAP
>>>>>>>>
>>>>>>>> 242 | Active |  80 | 0.0.1              | RENCI :: OSGi :: Bundle ::
>>>>>>>> XZ 1.0
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> At this point, everything looks good.  Then I install the
>>>>>>>> hearsay-dao
>>>>>>>> feature & the list command shows the following additional bundles:
>>>>>>>>
>>>>>>>> 243 | Active      |  80 | 0.0.46.SNAPSHOT    | Hearsay :: DAO :: API
>>>>>>>>
>>>>>>>> 244 | GracePeriod |  80 | 0.0.46.SNAPSHOT    | Hearsay :: DAO :: JPA
>>>>>>>>
>>>>>>>> 245 | Active      |  80 | 0.0.46.SNAPSHOT    | Hearsay :: Datasource
>>>>>>>>
>>>>>>>>
>>>>>>>> From the karaf.log file, I see the following:
>>>>>>>>
>>>>>>>> 2015-11-24 10:51:15,958 | INFO  | pool-48-thread-1 |
>>>>>>>> BlueprintContainerImpl           | 34 -
>>>>>>>> org.apache.aries.blueprint.core - 1.4.5 | Bundle
>>>>>>>> hearsay-dao-jpa/0.0.46.SNAPSHOT is waiting for namespace handlers
>>>>>>>> [http://aries.apache.org/xmlns/transactions/v1.1.0,
>>>>>>>> http://aries.apache.org/xmlns/jpa/v1.1.0]
>>>>>>>>
>>>>>>>>
>>>>>>>> Should the Aries transaction/jpa versions be 1.0.0 instead?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Jason
>>>>>>>>
>>>>>>>> On 11/24/2015 10:22 AM, Jean-Baptiste Onofré wrote:
>>>>>>>>
>>>>>>>>> Basically, you should have transaction-api 1.1.0 installed (not
>>>>>>>>> 1.2.0) and no transaction/1.3.0 feature installed for OpenJPA.
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>> JB
>>>>>>>>>
>>>>>>>>> On 11/24/2015 04:13 PM, Jason Reilly wrote:
>>>>>>>>>
>>>>>>>>>> Hi JB,
>>>>>>>>>>
>>>>>>>>>> I was using what I could find out-of-the-box....which I think is
>>>>>>>>>> transaction/1.3.0.  I didn't know of a transaction 2.x feature.
>>>>>>>>>> What is
>>>>>>>>>> the repo for that?
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Jason
>>>>>>>>>>
>>>>>>>>>> On 11/24/2015 10:05 AM, Jean-Baptiste Onofré wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Jason,
>>>>>>>>>>>
>>>>>>>>>>> did you install transaction 2.x feature ?
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>> JB
>>>>>>>>>>>
>>>>>>>>>>> On 11/24/2015 03:41 PM, Jason Reilly wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>
>>>>>>>>>>>> I am trying to migrate an application to Karaf 4.0.3 & am using
>>>>>>>>>>>> Java8. I
>>>>>>>>>>>> have tried a few permutations of persistence providers
>>>>>>>>>>>> (hibernate,
>>>>>>>>>>>> openjpa, & eclipselink).  I got Hibernate to work, but ran
>>>>>>>>>>>> into a
>>>>>>>>>>>> number
>>>>>>>>>>>> of problems (like not having all the collections in a
>>>>>>>>>>>> @NamedEntityGraph
>>>>>>>>>>>> loaded & this bug:
>>>>>>>>>>>> https://hibernate.atlassian.net/browse/HHH-9270).
>>>>>>>>>>>> Wanting to continue with JPA 2.1, I tried out eclipselink. One
>>>>>>>>>>>> of the
>>>>>>>>>>>> problems I had with eclipselink was the following:
>>>>>>>>>>>>
>>>>>>>>>>>> 2015-11-23 16:28:10,754 | INFO  | rint Extender: 3 |
>>>>>>>>>>>> BlueprintContainerImpl           | 31 -
>>>>>>>>>>>> org.apache.aries.blueprint.core
>>>>>>>>>>>> - 1.4.5 | Bundle hearsay-dao-jpa/0.0.46.SNAPSHOT is waiting for
>>>>>>>>>>>> namespace handlers
>>>>>>>>>>>> [http://aries.apache.org/xmlns/transactions/v2.0.0]
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I have transaction & jpa features installed, but the
>>>>>>>>>>>> hearsay-dao-jpa
>>>>>>>>>>>> bundle is never activated when I use a blueprint xml file to
>>>>>>>>>>>> register
>>>>>>>>>>>> the services.  When I use the pax-cdi annotations (as in
>>>>>>>>>>>> Christian's
>>>>>>>>>>>> KarafTutorial example), the hearsay-dao-jpa bundle is
>>>>>>>>>>>> activated, but
>>>>>>>>>>>> throws an NPE on getEntityManager() despite using the
>>>>>>>>>>>> PersistentContext
>>>>>>>>>>>> annotation.  I think this might be related to the Aries JPA
>>>>>>>>>>>> 2.2.0
>>>>>>>>>>>> problem mentioned in another thread (Problem with JPA 2.2.0 in
>>>>>>>>>>>> Karaf
>>>>>>>>>>>> 4.0.2).
>>>>>>>>>>>>
>>>>>>>>>>>> When I try openjpa/2.4.0 & JPA 2.0, the openjpa bundle is in a
>>>>>>>>>>>> resolved
>>>>>>>>>>>> state.  When I try to start that bundle the following is thrown:
>>>>>>>>>>>>
>>>>>>>>>>>> ERROR: Bundle org.apache.aries.jpa.container [55]
>>>>>>>>>>>> EventDispatcher:
>>>>>>>>>>>> Error
>>>>>>>>>>>> during dispatch. (java.lang.NoClassDefFoundError:
>>>>>>>>>>>> javax/transaction/Synchronization)
>>>>>>>>>>>>
>>>>>>>>>>>> java.lang.NoClassDefFoundError:
>>>>>>>>>>>> javax/transaction/Synchronization
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> However, the packages are available:
>>>>>>>>>>>>
>>>>>>>>>>>> karaf@root()> exports | grep javax.transaction
>>>>>>>>>>>>
>>>>>>>>>>>> javax.transaction.xa
>>>>>>>>>>>> | 0.0.0            | 0   | org.apache.felix.framework
>>>>>>>>>>>>
>>>>>>>>>>>> javax.transaction.xa
>>>>>>>>>>>> | 1.1.0            | 122 |
>>>>>>>>>>>> org.apache.geronimo.specs.geronimo-jta_1.1_spec
>>>>>>>>>>>>
>>>>>>>>>>>> javax.transaction.xa
>>>>>>>>>>>> | 1.2.0            | 256 | javax.transaction-api
>>>>>>>>>>>>
>>>>>>>>>>>> javax.transaction
>>>>>>>>>>>> | 0.0.0            | 0   | org.apache.felix.framework
>>>>>>>>>>>>
>>>>>>>>>>>> javax.transaction
>>>>>>>>>>>> | 1.1.0            | 122 |
>>>>>>>>>>>> org.apache.geronimo.specs.geronimo-jta_1.1_spec
>>>>>>>>>>>>
>>>>>>>>>>>> javax.transaction
>>>>>>>>>>>> | 1.2.0            | 256 | javax.transaction-api
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I also see the following in the log after messing with which
>>>>>>>>>>>> transaction-api/persistence-api features I have installed:
>>>>>>>>>>>>
>>>>>>>>>>>> Caused by: java.lang.NoClassDefFoundError:
>>>>>>>>>>>> javax/transaction/SystemException
>>>>>>>>>>>>
>>>>>>>>>>>>      at
>>>>>>>>>>>>
>>>>>>>>>>>> org.apache.openjpa.persistence.osgi.PersistenceActivator.start(PersistenceActivator.java:61)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Before reverting back to Karaf 3.0.5...is there anything else I
>>>>>>>>>>>> can
>>>>>>>>>>>> try?  Suggestions?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Jason
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
> --
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Reply via email to