From user-return-18536-archive-asf-public=cust-asf.ponee.io@karaf.apache.org Fri May 11 21:48:18 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 5A30C180647 for ; Fri, 11 May 2018 21:48:16 +0200 (CEST) Received: (qmail 60322 invoked by uid 500); 11 May 2018 19:48:15 -0000 Mailing-List: contact user-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@karaf.apache.org Delivered-To: mailing list user@karaf.apache.org Received: (qmail 60312 invoked by uid 99); 11 May 2018 19:48:15 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2018 19:48:15 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 89C39C00D3 for ; Fri, 11 May 2018 19:48:14 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2 X-Spam-Level: ** X-Spam-Status: No, score=2 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=paremus-com.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id rOn0CU-oYr-P for ; Fri, 11 May 2018 19:48:08 +0000 (UTC) Received: from mail-wr0-f177.google.com (mail-wr0-f177.google.com [209.85.128.177]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 9B7295F1BE for ; Fri, 11 May 2018 19:48:07 +0000 (UTC) Received: by mail-wr0-f177.google.com with SMTP id v5-v6so6387043wrf.9 for ; Fri, 11 May 2018 12:48:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paremus-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Iyfy9um6x50wRsVJWuUc64mOh/Z98wCwlJbgTD3HVew=; b=ripyzNDVo5pO5n/d/9dxfLX6F0rOxZT8S/ncdfJJY1K5ZzAkyiQd/0HXM4Z1Kmi4rl wltBU0xpZCr9V0F6z60AmJ2a0ai1h1zFQ+F6p5nOZUkqWVotMHvZsYJhaARGGdoCLtYl gtlSMHkK62YtBBuLkH3rmfvE2W9TAoukCeQbPOSGaniqnU8grm2j1824dRqu4Opx4w+i hUvgspQNVdNc8K4oIQKme+g8rcDB2EV3SCFwV+HefIPhzETNj2xG/vaIk3C8Mmw/FCxC jiljS5HEI718eXiWqJhm9KosEqzZKG8MWZTNWsx/qio5VXaliFEomLE8J1tVZjGQU0iv h3tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Iyfy9um6x50wRsVJWuUc64mOh/Z98wCwlJbgTD3HVew=; b=Z++aDvRh4//Sf8NVZMHucCYTGQfzCC32eB7cx54jGpbj2ND0vU42O5s/toHEZRfNRz 9xQDjiWgoyDTmno9Fhm24chd+wrDL4Oog8YwVQxMVGEbrm+8SPUVluy9XK+0vRpgfkxP I6LDmv02Lm2LhgYliyN3jYY68nYy4xwqi7e4WvELUFs0LvXQdJzl/8X+DdYBFLN8kj28 ZCdJ9ASR2F2+Lz9CEkFAbi1jlb8oLjavOQSzfrg4LAwPRwELvRA3H0+2fJskCDJ99GLU qU95xpsgWYXmvWS2LpnLXj8XFKerpeaZtcbHAGeT/ll+jH4kT43G4Y/M7W9s2Zw68V7E VjMA== X-Gm-Message-State: ALKqPwdhvlvAm2/IrIs41Ltx2hPB6zGMnzqO+aooIXn5BVz6WLtHH+Sw XvYYl29tYNjErqkFYImCSLx2uUEzyU0= X-Google-Smtp-Source: AB8JxZq97q1LHRAaXVcgr1CltmZKE1OWFtdQB5OLX3NalZdoF88NBNhdVYEEPh/gnYj1rfRKzfecFg== X-Received: by 2002:adf:b246:: with SMTP id y6-v6mr227002wra.99.1526068086274; Fri, 11 May 2018 12:48:06 -0700 (PDT) Received: from [10.31.44.182] ([213.205.194.206]) by smtp.gmail.com with ESMTPSA id b133-v6sm3238025wmh.12.2018.05.11.12.48.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 May 2018 12:48:05 -0700 (PDT) Content-Type: multipart/alternative; boundary=Apple-Mail-F335C330-7DF8-4FE0-ACDC-3F0F95CC8485 Mime-Version: 1.0 (1.0) Subject: Re: OpenJPA with AriesJPA Java.peristence From: Tim Ward X-Mailer: iPhone Mail (15E302) In-Reply-To: Date: Fri, 11 May 2018 20:48:02 +0100 Cc: user@karaf.apache.org Content-Transfer-Encoding: 7bit Message-Id: <1AD6AC5F-F6B1-45C9-BCDC-4997BB7F1EC6@paremus.com> References: <196454C5-ACF2-4390-A4BB-A78DF60BFFA3@envieta.com> <51478dd0-d446-8674-d81a-eae5fe98b03c@nanthrax.net> <2EBDC520-D9F2-4780-A4D6-B52061FADFFC@envieta.com> <3b7aef05-8198-77f1-b590-09ac313faf91@nanthrax.net> <8F5C26F3-D4E5-4965-8C9F-A57C56C64DC1@envieta.com> <4BEF3C8E-A5EF-4F03-A065-378E067BE616@paremus.com> <7EA193CB-29B5-4E6B-B858-3DC17D28A772@envieta.com> To: Alex Soto --Apple-Mail-F335C330-7DF8-4FE0-ACDC-3F0F95CC8485 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Alex, So the logs you=E2=80=99ve sent indicate that your persistence bundle is bei= ng found, and that it=E2=80=99s being matched with OpenJPA. These are both g= ood things.=20 The next step in the process is to locate and set up the connections to the d= atabase. Depending on how you=E2=80=99re setting up your persistence.xml thi= s can happen automatically, but more normally it requires configuration and/= or use of the EntityManagerFactoryBuilder service.=20 Things to check are that: =E2=80=A2 you do see and EntityManagerFactoryBuilder service =E2=80=A2 you=E2=80=99re deploying a valid database driver supporting the JD= BC service =E2=80=A2 your database url and driver class match the driver you=E2=80=99re= deploying=20 =E2=80=A2 you=E2=80=99re using the correct pid/unit.name I hope this helps. Tim Sent from my iPhone > On 11 May 2018, at 19:58, Alex Soto wrote: >=20 > What is strange is that (based on the logs) it seems as if the persistence= unit is being discovered:=20 >=20 > 14:50:44.050 INFO [features-3-thread-1] Found persistence unit responderPe= rsistenUnit in bundle org.enquery.encryptedquery.responder-data-jpa-entity-m= anager with provider org.apache.openjpa.persistence.PersistenceProviderImpl.= > 14:50:44.052 INFO [features-3-thread-1] Found provider for responderPersis= tenUnit org.apache.openjpa.persistence.PersistenceProviderImpl > 14:50:44.142 INFO [features-3-thread-1] Adding transformer org.apache.open= jpa.persistence.PersistenceProviderImpl$ClassTransformerImpl >=20 >=20 > But the javax.persistence.EntityManager service is not being registered, a= nd there is no errors. >=20 >=20 >> On May 11, 2018, at 2:19 PM, Alex Soto wrote: >>=20 >> Ok, I made some progress (I guess) I am no longer getting the original er= ror: java.lang.ClassCastException: org.apache.openjpa.persistence.Persisten= ceProviderImpl cannot be cast to javax.persistence.spi.PersistenceProvider >>=20 >>=20 >> I added my own version of the jpa feature, in which I substitute the line= >>=20 >> mvn:org.eclipse.persistence/javax.per= sistence/2.1.0 >>=20 >>=20 >> With: >> mvn:org.apache.geronimo.specs/geronim= o-jta_1.1_spec/1.1.1 >>=20 >> Which results in: >>=20 >> >> >> osgi.service;effective:=3Dactive;objectClass=3Djavax.persiste= nce.spi.PersistenceProvider >> >> =20 >> mvn:org.apache.geronimo.specs/g= eronimo-jpa_2.0_spec/1.1 >> mvn:org.apache.geronimo.specs/geronim= o-jta_1.1_spec/1.1.1 >> mvn:org.osgi/org.osgi.service.jdbc/1.= 0.0 >> mvn:org.apache.fel= ix/org.apache.felix.coordinator/1.0.2 >> mvn:org.apache.aries.jpa/org.apache.ar= ies.jpa.api/${aries.jpa.version} >> mvn:org.apache.aries.jpa/org.apache.ar= ies.jpa.container/${aries.jpa.version} >> mvn:org.apache.aries.jpa/org.apache.ar= ies.jpa.support/${aries.jpa.version} >> >> aries-blueprint >> mvn:org.apache.aries.jpa/org.apach= e.aries.jpa.blueprint/${aries.jpa.version} >> >> >>=20 >>=20 >>=20 >> Now, in my own feature, I have: >>=20 >> aries-blueprint >> jndi >> jdbc >> transaction >> aries-jpa2 >> openjpa >> pax-jdbc-mariadb >> pax-jdbc-config >>=20 >> Among others. Now my bundle fails to start: >>=20 >> Status: GracePeriod >> Declarative Services >> Blueprint >> 5/11/18 2:14 PM >> Missing dependencies:=20 >> (&(osgi.unit.name=3DresponderPersistenUnit)(objectClass=3Djavax.persisten= ce.EntityManager))=20 >>=20 >> There are no errors in the log, just this unresolved dependency. >> Any idea about why my persistent unit is not being registered? >>=20 >> Best regards, >> Alex soto >>=20 >>=20 >>=20 >>=20 >>>> On May 11, 2018, at 11:09 AM, Tim Ward wrote: >>>>=20 >>>>=20 >>>>=20 >>>>> On 11 May 2018, at 15:53, Alex Soto wrote: >>>>>=20 >>>>> Thanks for the help Tim. >>>>>=20 >>>>=20 >>>>> On May 11, 2018, at 10:24 AM, Tim Ward wrote: >>>>>=20 >>>>> Aries JPA can work with either JPA 2.0, or JPA 2.1, and is tested with= EclipseLink, Hibernate and OpenJPA.=20 >>>>=20 >>>> I am looking at these integration tests, but the test itself does not u= ses the feature, as defined in the feature.xml file. It loads a different v= ersion of javax.persistence for the OpenJPA integration test. So unless you a= re an AriesJPA developer, you would not know about this. How would anybody f= igure this out?=20 >>>>=20 >>>> @Configuration >>>> public Option[] configuration() { >>>> return new Option[] { >>>> baseOptions(), // >>>> ariesJpa20(), // >>>> jta11Bundles(), // Openjpa currently does not work with jta= 1.2. See https://issues.apache.org/jira/browse/OPENJPA-2607 >>>> openJpa(), // >>>> derbyDSF(), // >>>> testBundle() >>>> }; >>>>=20 >>>> Then the example does not use OpenJPA, but Hibernate, so there is no in= formation on how to make it work with OpenJPA out of the box. =20 >>>> One option here would be to have multiple specific features: jpa-hibern= ate, jpa-openjpa, etc. >>>=20 >>> Yes, that=E2=80=99s pretty much what is needed, but Karaf would be the p= lace to create and maintain those features. >>>=20 >>>>=20 >>>>>=20 >>>>> It is highly recommended that you use the JavaJPA contract in any of y= our bundles using JPA so that you are isolated from the API version number c= hanges in the future (most Java EE specifications make major version bumps q= uite regularly). >>>>>=20 >>>>=20 >>>> I have this in my bundle=E2=80=99s osgi.bnd file: >>>>=20 >>>> -contract: JavaJPA >>>>=20 >>>> Is that all that is needed? It does not indicate version. >>>=20 >>> That is most of what is needed - you also need to be compiling against a= library which offers the contract (for example the spec bundles provided by= Aries). If you do that you will end up with Import-Package statements for j= avax.persistence (et al) with no version, but also a Require-Capability: osg= i.contract;filter:=3D(&(osgi.contract=3DJavaJPA)(version=3DXXX)) where the X= XX is determined from the Provide-Capability of the bundle you compiled agai= nst. >>>=20 >>>>=20 >>>>> The real problem is that the AriesJPA feature shouldn=E2=80=99t exist a= s a standalone thing (it doesn=E2=80=99t make sense to deploy it on its own)= . It should come for free when you install the OpenJPA (or Hibernate, or Ecl= ipseLink) feature, using whichever API they have deployed. >>>>=20 >>>> Exactly, this is harder than it should be. When I install a feature, I= expect the feature to bring in all that is needed, not having to chase down= all these dependencies. >>>> Is there an intention to take this approach any time soon? >>>=20 >>> I=E2=80=99m afraid that would be a decision for the Karaf maintainers ra= ther than me. I=E2=80=99m only chipping in because I=E2=80=99m an Aries PMC m= ember who deals quite a bit with the JPA and Tx Control components. >>>=20 >>> Best Regards, >>>=20 >>> Tim Ward >>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>>=20 >>>>> Tim >>>>>=20 >>>>>=20 >>>>>> On 11 May 2018, at 14:23, Alex Soto wrote: >>>>>>=20 >>>>>> I had accidentally replied directly to Tim. Repeating here: >>>>>>=20 >>>>>> Let me see if I understand this correctly: >>>>>>=20 >>>>>> Karaf version 4.2.0 enterprise repository depends on version 2.6.1 of= AriesJPA. >>>>>> AriesJPA version 2.6.1 depends on javax.persistence version 2.1.0. >>>>>> Karaf=E2=80=99s enterprise repository defines a openjpa feature that d= epends on OpenJPA version 2.4.2. >>>>>> OpenJPA version 2.4.2 depends on javax.persistence version 2.0.0. >>>>>> =20 >>>>>> Is this correct? >>>>>> Is there is a bug in the Enterprise repository mixing incompatible ve= rsions of OpenJPA and AriesJPA? >>>>>> Is the problem in OpenJPA not declaring the version it depends on? >>>>>>=20 >>>>>> Inspecting in Karaf=E2=80=99s console: >>>>>>=20 >>>>>> karaf@root()> list >>>>>>=20 >>>>>> 97 =E2=94=82 Active =E2=94=82 80 =E2=94=82 2.4.2 =E2= =94=82 OpenJPA Aggregate Ja >>>>>>=20 >>>>>> karaf@root()> bundle:requirements 97 >>>>>>=20 >>>>>> osgi.wiring.package; (&(osgi.wiring.package=3Djavax.persistence)(vers= ion>=3D1.1.0)(!(version>=3D2.1.0))) resolved by: >>>>>> osgi.wiring.package; javax.persistence 2.0.0 from org.apache.geron= imo.specs.geronimo-jpa_2.0_spec [66] >>>>>>=20 >>>>>>=20 >>>>>> karaf@root()> feature:info jpa >>>>>> Feature jpa 2.6.1 >>>>>> Description: >>>>>> OSGi Persistence Container >>>>>> Details: >>>>>> JPA implementation provided by Apache Aries JPA 2.x. NB: this featu= re doesn't provide the JPA engine, you have to install one by yourself (Open= JPA for instance) >>>>>> Feature has no configuration >>>>>> Feature has no configuration files >>>>>> Feature has no dependencies. >>>>>> Feature contains followed bundles: >>>>>> mvn:org.eclipse.persistence/javax.persistence/2.1.0 >>>>>> mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 >>>>>> mvn:org.osgi/org.osgi.service.jdbc/1.0.0 >>>>>> mvn:org.apache.felix/org.apache.felix.coordinator/1.0.2 start-level= =3D30 >>>>>> mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/2.6.1 start-level= =3D30 >>>>>> mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/2.6.1 start= -level=3D30 >>>>>> mvn:org.apache.aries.jpa/org.apache.aries.jpa.support/2.6.1 start-l= evel=3D30 >>>>>>=20 >>>>>> Best regards, >>>>>> Alex soto >>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>>> On May 10, 2018, at 5:45 PM, Tim Ward wrote: >>>>>>>=20 >>>>>>> OpenJPA 2.4.x supports JPA 2.0 (not 2.1) you can get the API you nee= d from Apache Aries, as well as the JPA container. This is also all used and= tested with Aries Transaction Control, so you can look at the bundles used t= here. >>>>>>>=20 >>>>>>> Best Regards, >>>>>>>=20 >>>>>>> Tim >>>>>>>=20 >>>>>>> Sent from my iPhone >>>>>>>=20 >>>>>>>> On 10 May 2018, at 20:43, Jean-Baptiste Onofr=C3=A9 wrote: >>>>>>>>=20 >>>>>>>> Anyway, let me check if OpenJPA 2.4.2 supports JPA 2.1 (it's what I= thought). >>>>>>>>=20 >>>>>>>> Regards >>>>>>>> JB >>>>>>>>=20 >>>>>>>>> On 05/10/2018 09:36 PM, Alex Soto wrote: >>>>>>>>> I am sorry I only see one version: >>>>>>>>>=20 >>>>>>>>> karaf@root()> feature:list | grep jpa >>>>>>>>> openjpa =E2=94=82 2.4.2 = =E2=94=82 =E2=94=82 >>>>>>>>> Started =E2=94=82 enterprise-4.2.0 =E2=94=82 A= pache OpenJPA 2.4.x >>>>>>>>> persistence engine support >>>>>>>>> camel-jpa =E2=94=82 2.21.1 = =E2=94=82 =20 >>>>>>>>> =E2=94=82 Uninstalled =E2=94=82 camel-2.21.1 = =E2=94=82 >>>>>>>>> deltaspike-jpa =E2=94=82 1.4.2 = =E2=94=82 =20 >>>>>>>>> =E2=94=82 Uninstalled =E2=94=82 org.ops4j.pax.cdi-1.0.0.RC2 = =E2=94=82 Apache Deltaspike jpa support >>>>>>>>> deltaspike-jpa =E2=94=82 1.8.1 = =E2=94=82 =20 >>>>>>>>> =E2=94=82 Uninstalled =E2=94=82 org.ops4j.pax.cdi-1.0.0 = =E2=94=82 Apache Deltaspike jpa support >>>>>>>>> jpa =E2=94=82 2.6.1 = =E2=94=82 =E2=94=82 >>>>>>>>> Started =E2=94=82 aries-jpa-2.6.1 =E2=94=82 O= SGi Persistence Container >>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>> Is there a repository I need to add? =20 >>>>>>>>>=20 >>>>>>>>> Best regards, >>>>>>>>> Alex soto >>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>>> On May 10, 2018, at 3:25 PM, Jean-Baptiste Onofr=C3=A9 >>>>>>>>> > wrote: >>>>>>>>>>=20 >>>>>>>>>> Karaf provides both jpa 1.x and 2.x feature. >>>>>>>>>>=20 >>>>>>>>>> You just have to install the right one depending of the engine y= ou are using: >>>>>>>>>>=20 >>>>>>>>>> feature:install jpa/1.x >>>>>>>>>> feature:install openjpa >>>>>>>>>>=20 >>>>>>>>>> Regards >>>>>>>>>> JB >>>>>>>>>>=20 >>>>>>>>>>> On 05/10/2018 09:23 PM, Alex Soto wrote: >>>>>>>>>>> Thanks JB, >>>>>>>>>>>=20 >>>>>>>>>>> I was hoping to use whatever was defined in the Karaf=E2=80=99s e= nterprise feature, >>>>>>>>>>> but if that doesn=E2=80=99t work ,then which version do I need? = I am afraid if I >>>>>>>>>>> deviate from the versions selected by Kara=E2=80=99s Enterprise f= eature I will get >>>>>>>>>>> into more version mismatch problems. Also what do I put in my P= OM for >>>>>>>>>>> javax.persistence dependency? >>>>>>>>>>>=20 >>>>>>>>>>>=20 >>>>>>>>>>> Best regards, >>>>>>>>>>> Alex soto >>>>>>>>>>>=20 >>>>>>>>>>>=20 >>>>>>>>>>>=20 >>>>>>>>>>>> On May 10, 2018, at 3:16 PM, Jean-Baptiste Onofr=C3=A9 >>>>>>>>>>> > wrote: >>>>>>>>>>>>=20 >>>>>>>>>>>> Hi, >>>>>>>>>>>>=20 >>>>>>>>>>>> OpenJPA 2.x still uses JPA 1.x. By default, jpa feature will pr= ovide 2.x >>>>>>>>>>>> version. >>>>>>>>>>>>=20 >>>>>>>>>>>> You should specify the jpa feature version. >>>>>>>>>>>>=20 >>>>>>>>>>>> Regards >>>>>>>>>>>> JB >>>>>>>>>>>>=20 >>>>>>>>>>>>> On 05/10/2018 09:08 PM, Alex Soto wrote: >>>>>>>>>>>>> Hello, >>>>>>>>>>>>>=20 >>>>>>>>>>>>> I am running Karaf 4.2.0, trying to setup a project with OpenJ= PA. I am getting >>>>>>>>>>>>> error: >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>> 14:44:07.799 ERROR [FelixDispatchQueue] FrameworkEvent ERROR >>>>>>>>>>>>> - org.apache.aries.jpa.container >>>>>>>>>>>>> java.lang.ClassCastException: >>>>>>>>>>>>> org.apache.openjpa.persistence.PersistenceProviderImpl >>>>>>>>>>>>> cannot be cast to javax.persistence.spi.PersistenceProvider >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.aries.jpa.container.impl.PersistenceProviderTracker= .addingService(PersistenceProviderTracker.java:84) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.aries.jpa.container.impl.PersistenceProviderTracker= .addingService(PersistenceProviderTracker.java:44) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(= ServiceTracker.java:941) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(= ServiceTracker.java:870) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractT= racked.java:256) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at org.osgi.util.tracker.AbstractTracked.trackInitial(Abstract= Tracked.java:183) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.ja= va:318) ~[?:?] >>>>>>>>>>>>> at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.ja= va:261) ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.aries.jpa.container.impl.PersistenceBundleTracker.t= rackProvider(PersistenceBundleTracker.java:103) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.aries.jpa.container.impl.PersistenceBundleTracker.f= indPersistenceUnits(PersistenceBundleTracker.java:87) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.aries.jpa.container.impl.PersistenceBundleTracker.a= ddingBundle(PersistenceBundleTracker.java:66) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.aries.jpa.container.impl.PersistenceBundleTracker.a= ddingBundle(PersistenceBundleTracker.java:39) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(B= undleTracker.java:469) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(B= undleTracker.java:415) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractT= racked.java:256) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked= .java:229) ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(Bund= leTracker.java:444) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.felix.framework.EventDispatcher.invokeBundleListene= rCallback(EventDispatcher.java:915) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.felix.framework.EventDispatcher.fireEventImmediatel= y(EventDispatcher.java:834) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.felix.framework.EventDispatcher.fireBundleEvent(Eve= ntDispatcher.java:516) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java= :4579) ~[?:?] >>>>>>>>>>>>> at org.apache.felix.framework.Felix.startBundle(Felix.java:217= 4) ~[?:?] >>>>>>>>>>>>> at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.= java:1373) ~[?:?] >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.felix.framework.FrameworkStartLevelImpl.run(Framewo= rkStartLevelImpl.java:308) >>>>>>>>>>>>> ~[?:?] >>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:748) [?:?] >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>> This looks like version mismatch. I am loading the following p= ackages in my >>>>>>>>>>>>> feature: >>>>>>>>>>>>>=20 >>>>>>>>>>>>> aries-blueprint >>>>>>>>>>>>> war >>>>>>>>>>>>> camel-core >>>>>>>>>>>>> camel-servlet >>>>>>>>>>>>> camel-blueprint >>>>>>>>>>>>> camel-jackson >>>>>>>>>>>>> jndi >>>>>>>>>>>>> jdbc >>>>>>>>>>>>> transaction >>>>>>>>>>>>> jpa >>>>>>>>>>>>> openjpa >>>>>>>>>>>>> pax-jdbc-mariadb >>>>>>>>>>>>> pax-jdbc-config >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>> One thing I don=E2=80=99t know if is correct is the javax.pers= istence dependency in >>>>>>>>>>>>> my POM: >>>>>>>>>>>>>=20 >>>>>>>>>>>>> >>>>>>>>>>>>> org.eclipse.persistence >>>>>>>>>>>>> javax.persistence >>>>>>>>>>>>> 2.0.5 >>>>>>>>>>>>> provided >>>>>>>>>>>>> >>>>>>>>>>>>>=20 >>>>>>>>>>>>> Any hints? >>>>>>>>>>>>>=20 >>>>>>>>>>>>> Best regards, >>>>>>>>>>>>> Alex soto >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>> --=20 >>>>>>>>>>>> Jean-Baptiste Onofr=C3=A9 >>>>>>>>>>>> jbonofre@apache.org >>>>>>>>>>>> http://blog.nanthrax.net >>>>>>>>>>>> Talend - http://www.talend.com >>>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> --=20 >>>>>>>>>> Jean-Baptiste Onofr=C3=A9 >>>>>>>>>> jbonofre@apache.org >>>>>>>>>> http://blog.nanthrax.net >>>>>>>>>> Talend - http://www.talend.com >>>>>>>>>=20 >>>>>>>>=20 >>>>>>>> --=20 >>>>>>>> Jean-Baptiste Onofr=C3=A9 >>>>>>>> jbonofre@apache.org >>>>>>>> http://blog.nanthrax.net >>>>>>>> Talend - http://www.talend.com >>=20 >=20 --Apple-Mail-F335C330-7DF8-4FE0-ACDC-3F0F95CC8485 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Alex,

So the logs you= =E2=80=99ve sent indicate that your persistence bundle is being found, and t= hat it=E2=80=99s being matched with OpenJPA. These are both good things.&nbs= p;

The next step in the process is to locate and se= t up the connections to the database. Depending on how you=E2=80=99re settin= g up your persistence.xml this can happen automatically, but more normally i= t requires configuration and/or use of the EntityManagerFactoryBuilder servi= ce. 

Things to check are that:

<= /div>
=E2=80=A2 you do see and EntityManagerFactoryBuilder service
=
=E2=80=A2 you=E2=80=99re deploying a valid database driver supporting t= he JDBC service
=E2=80=A2 your database url and driver class match= the driver you=E2=80=99re deploying 
=E2=80=A2 you=E2=80=99r= e using the correct pid/unit.name

I hope this helps= .

Tim

Sent fr= om my iPhone

On 11 May 2018, at 19:58, Alex Soto <alex.soto@envieta.com> wrote:

<= /div>
What is strange is that (ba= sed on the logs) it seems as if the persistence unit is being discovered:&nb= sp;

14:50:44.050 INFO [= features-3-thread-1] Found persistence unit responderPersistenUnit in b= undle org.enquery.encryptedquery.responder-data-jpa-entity-manager with= provider org.apache.openjpa.persistence.PersistenceProviderImpl.
14:50:44.052 INFO=  [features-3-thread-1] Found provider for responderPersistenUnit&n= bsp;org.apache.openjpa.persistence.PersistenceProviderImpl
14:50:44.142 INFO [= features-3-thread-1] Adding transformer org.apache.openjpa.persist= ence.PersistenceProviderImpl$ClassTransformerImpl


But t= he  javax.persistence.EntityManager service is not being registered, an= d there is no errors.


On M= ay 11, 2018, at 2:19 PM, Alex Soto <alex.soto@envieta.com> wrote:

O= k, I made some progress (I guess) I am no longer getting the original error:=  java.lang.ClassCastException: org.apache.openjpa.persistence.Persiste= nceProviderImpl cannot be cast to javax.persistence.spi.PersistenceProvider<= div class=3D"">

I added my own version of the jpa featur= e, in which I substitute the line

=
        <bundle dependency=3D"true">mvn= :org.eclipse.persistence/javax.persistence/2.1.0</bundle>


With:
        <bundle dep= endency=3D"true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.= 1</bundle>

Which results in:

<feature name=3D"aries-jpa2=E2=80=9D>
     <capability>
        &= nbsp;   osgi.service;effective:=3Dactive;objectClass=3Djavax.persi= stence.spi.PersistenceProvider
        = ;</capability>
        
<bundle dependency=3D"true">mvn:org.apache.geronimo.specs/ger= onimo-jpa_2.0_spec/1.1</bundle>
      &nbs= p; <bundle dependency=3D"true">mvn:org.apache.geronimo.specs= /geronimo-jta_1.1_spec/1.1.1</bundle>
     = ;   <bundle dependency=3D"true">mvn:org.osgi/org.osgi.s= ervice.jdbc/1.0.0</bundle>
       &nb= sp;<bundle dependency=3D"true" start-level=3D"30">mvn:org.ap= ache.felix/org.apache.felix.coordinator/1.0.2</bundle>
&n= bsp;       <bundle start-level=3D"30">mvn:org= .apache.aries.jpa/org.apache.aries.jpa.api/${aries.jpa.version}</bundle&g= t;
        <bundle start-level= =3D"30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/${aries.j= pa.version}</bundle>
        <= ;bundle start-level=3D"30">mvn:org.apache.aries.jpa/org.apache.aries= .jpa.support/${aries.jpa.version}</bundle>
    &= nbsp;   <conditional>
      &nbs= p;     <condition>aries-blueprint</condition>
            <bundle sta= rt-level=3D"30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint/$= {aries.jpa.version}</bundle>
       &= nbsp;</conditional>
</feature>



Now, in my own feature, I have:

<= feature>aries-blueprint</feature>
  <feature>jndi</feature>
<feature>jdbc</feature>
<feature>transaction</feature>
<feature>aries-jpa2</feature>
=
<feature>openjpa</feature>
= <feature>pax-jdbc-mariadb</feature>
        <feature>pax-jdbc-c= onfig</feature>

Among others.  Now my bundle fails to star= t:

Status: GracePeriod
= Declarative Servi= ces
Blueprint
5/= 11/18 2:14 PM
Missing dependencies: 
(&(osgi.unit.name=3DresponderPersistenUnit)(obj= ectClass=3Djavax.persistence.EntityManager)) 
<= /blockquote>

There are no errors in the lo= g, just this unresolved dependency.
Any idea about why my persistent unit is not= being registered?

Best regards,
Alex soto




On May 11, 2018, at 11:09 AM, Tim Ward <tim.ward@paremus.com> wrote:



On 11 M= ay 2018, at 15:53, Alex Soto <alex.soto@envieta.com> wrote:

Thanks for the help Tim.

On May 11, 2018, at 10:24 AM, Tim Ward <tim.ward@paremus.com> wrote:=

Aries JPA can work with either JPA 2.0, or JPA 2.1, and is t= ested with EclipseLink, Hibernate and OpenJPA. 

I am looking at these integration test= s, but the test itself does not uses the feature, as defined in the feature.= xml file.  It loads a different version of javax.persistence for the Op= enJPA integration test. So unless you are an AriesJPA developer, you would n= ot know about this.  How would anybody figure this out? 

@Configuration
  &= nbsp; public Option[] configuration() {
    &= nbsp;   return new Option[] {
    &= nbsp;       baseOptions(), //
  &nb= sp;         ariesJpa20(), //
      &= nbsp;     jta11Bundles(), // Openjpa currently= does not work with jta 1.2. See https://issues.apache.org/jira= /browse/OPENJPA-2607
           = ; openJpa(), //
          &nbs= p; derbyDSF(), //
          &n= bsp; testBundle()
        };=

Then= the example does not use OpenJPA, but Hibernate, so there is no information= on how to make it work with OpenJPA out of the box.  
One option here would be to have multiple specific features: jpa-hibernat= e, jpa-openjpa, etc.

Yes, that=E2= =80=99s pretty much what is needed, but Karaf would be the place to create a= nd maintain those features.



It is highly recommended that you use the JavaJPA contract in any of= your bundles using JPA so that you are isolated from the API version number= changes in the future (most Java EE specifications make major version bumps= quite regularly).


I have this i= n my bundle=E2=80=99s osgi.bnd file:

-contract: J= avaJPA

Is that all that is needed?  It does not indicate version.

That is most of what is needed - y= ou also need to be compiling against a library which offers the contract (fo= r example the spec bundles provided by Aries). If you do that you will end u= p with Import-Package statements for javax.persistence (et al) with no versi= on, but also a Require-Capability: osgi.contract;filter:=3D(&(osgi.contr= act=3DJavaJPA)(version=3DXXX)) where the XXX is determined from the Provide-= Capability of the bundle you compiled against.


=
The real probl= em is that the AriesJPA feature shouldn=E2=80=99t exist as a standalone thin= g (it doesn=E2=80=99t make sense to deploy it on its own). It should come fo= r free when you install the OpenJPA (or Hibernate, or EclipseLink) feature, u= sing whichever API they have deployed.
<= div class=3D"">
Exactly, this is harder t= han it should be.  When I install a feature, I expect the feature to br= ing in all that is needed, not having to chase down all these dependencies.<= /div>
Is there an intention to take this approach any time so= on?
I=E2=80=99m afraid that w= ould be a decision for the Karaf maintainers rather than me. I=E2=80=99m onl= y chipping in because I=E2=80=99m an Aries PMC member who deals quite a bit w= ith the JPA and Tx Control components.

Best Regards,

Tim Ward






Tim

<= div class=3D"">

On 11 May 2018, at 14:23, Alex Soto <alex.soto@envieta.com> wrote:<= /div>
I had accidentally replied directly to Tim. &= nbsp;Repeating here:

Let me see if I understand this correctly:

K= araf version 4.2.0 enterprise repository depends on version 2.6.1 o= f AriesJPA.
AriesJPA version 2.6.1 depends on  javax.pers= istence version 2.1.0.
Karaf=E2=80=99s enterprise re= pository defines a openjpa feature that depends on OpenJPA version= 2.4.2.
OpenJPA version 2.4.2 depends on javax.persistence ver= sion 2.0.0.
 
Is this correct?
Is there is a bug in the Enterprise repository mixing incompatible version= s of OpenJPA and AriesJPA?
Is the problem in OpenJPA no= t declaring the version it depends on?

<= /div>
Inspecting in Karaf=E2=80=99s console:

karaf@root()> list
<= font face=3D"Courier" class=3D"" style=3D"font-size: 12px;">
<= /font>
 97 =E2=94=82 Active  =E2=94=82  80 =E2= =94=82 2.4.2               =E2=94= =82 OpenJPA Aggregate Ja

karaf@root()> bundle= :requirements 97

osgi.wiring.packag= e; (&(osgi.wiring.package=3Djavax.persistence)(version>=3D1.1.0)(!(ve= rsion>=3D2.1.0))) resolved by:
   osgi.wiring= .package; javax.persistence 2.0.0 from org.apache.geronimo.specs.geronimo-jp= a_2.0_spec [66]

karaf@root()> feature:info&n= bsp;jpa
Feature jpa 2.6.1
Description:
  OSGi Persistence Container
Details:
  JPA implementation provided by Apache Aries JPA 2.x. NB: this= feature doesn't provide the JPA engine, you have to install one by you= rself (OpenJPA for instance)
Feature has no configuration
Feature has no configuration files
Feature has no de= pendencies.
Feature contains followed bundles:
&= nbsp; mvn:org.eclipse.persistence/ja= vax.persistence/2.1.0
  mvn:org.apache.geroni= mo.specs/geronimo-jta_1.1_spec/1.1.1
  mvn:org.osgi/= org.osgi.service.jdbc/1.0.0
  mvn:org.apache.felix/o= rg.apache.felix.coordinator/1.0.2 start-level=3D30
  = ;mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/2.6.1 start-level=3D30  mvn:org.apache.aries.jpa/org.apache.aries.jpa.contai= ner/2.6.1 start-level=3D30
  mvn:org.apache.aries.jp= a/org.apache.aries.jpa.support/2.6.1 start-level=3D30
<= br class=3D"">
Best re= gards,
Alex soto


<= br class=3D"">

On May 10, 2018, at 5:45 PM, Tim Ward <= tim.ward@paremus.com&= gt; wrote:

OpenJPA 2.4.x supports JPA 2.0 (not 2.1) you can get the API you= need from Apache Aries, as well as the JPA container. This is also all used= and tested with Aries Transaction Control, so you can look at the bundles u= sed there.

Best Regards,

Tim

Sent from my iPhone
On 10 May 2018, at 20:43, J= ean-Baptiste Onofr=C3=A9 <j= b@nanthrax.net> wrote:

Anyway, let me ch= eck if OpenJPA 2.4.2 supports JPA 2.1 (it's what I thought).
<= br class=3D"">Regards
JB

On 05/10/2018 09:36 PM, Alex Soto wrote:
I am sorry I only see one version:

kara= f@root()> feature:list | grep jpa
openjpa    = ;            &nb= sp;            &= nbsp;    =E2=94=82 2.4.2      &= nbsp;     =E2=94=82      &= nbsp;   =E2=94=82
Started    &nb= sp;=E2=94=82 enterprise-4.2.0        &nbs= p;         =E2=94=82 Apache Ope= nJPA 2.4.x
persistence engine support
camel-jpa &= nbsp;            = ;            &nb= sp;     =E2=94=82 2.21.1     &n= bsp;     =E2=94=82      &n= bsp;
 =E2=94=82 Uninstalled =E2=94=82 camel-2.21.1  =             &nbs= p;       =E2=94=82
deltaspi= ke-jpa            &nb= sp;            &= nbsp; =E2=94=82 1.4.2         &= nbsp;  =E2=94=82       
 =E2=94=82 Uninstalled =E2=94=82 org.ops4j.pax.cdi-1.0.0.RC2  &n= bsp;    =E2=94=82 Apache Deltaspike jpa support
deltaspike-jpa          &= nbsp;            = ;    =E2=94=82 1.8.1       = ;     =E2=94=82       = ;
 =E2=94=82 Uninstalled =E2=94=82 org.ops4j.pax.cdi-1.0.= 0           =E2=94=82 Apac= he Deltaspike jpa support
jpa      &n= bsp;            =             &nbs= p;      =E2=94=82 2.6.1    &nbs= p;       =E2=94=82    &nbs= p;     =E2=94=82
Started   =   =E2=94=82 aries-jpa-2.6.1       &n= bsp;           =E2=94= =82 OSGi Persistence Container


<= br class=3D"">Is there a repository I need to add?  

Best regards,
Alex soto



On May 1= 0, 2018, at 3:25 PM, Jean-Baptiste Onofr=C3=A9 <jb@nanthrax.net
<mailto:jb@nanthrax.net>> wrote:

Karaf provides both jpa 1.x and  2.x feature.
You just have to  install the right one dep= ending of the engine you are using:

feature:ins= tall jpa/1.x
feature:install  openjpa

Regards
JB

On 05/10/2018 09:23 PM, Alex Soto wrote:
Thanks JB,

I was hoping to use whatever was d= efined in the Karaf=E2=80=99s enterprise feature,
but if that d= oesn=E2=80=99t work ,then which version do I need?  I am afraid if Ideviate from the versions selected by Kara=E2=80=99s Enterprise f= eature I will get
into more version mismatch problems.  &= nbsp;Also what do I put in my POM for
javax.persistence depend= ency?


Best regards,
Alex soto



On May 10, 2018, at 3:16 PM, Jean-Baptiste O= nofr=C3=A9 <jb@nanthrax.net=
<mailto:= jb@nanthrax.net>> wrote:

Hi,

OpenJPA 2.x still uses JPA 1.x. By default, jpa feature= will provide 2.x
version.

You sh= ould specify the jpa feature version.

RegardsJB

On 05/10/2018 09:08 PM, Alex Soto wrote:
Hello,

I am running Karaf 4.2.0, trying to setup a project wit= h OpenJPA.  I am getting
error:


14:44:07.799 ERROR [FelixDispatchQueue] FrameworkEvent ERR= OR
- org.apache.aries.jpa.container
java.lang.Cl= assCastException:
org.apache.openjpa.persistence.PersistencePr= oviderImpl
cannot be cast to javax.persistence.spi.Persistence= Provider
at
org.apache.aries.jpa.container.impl.= PersistenceProviderTracker.addingService(PersistenceProviderTracker.java:84)=
~[?:?]
at
org.apache.aries.jpa.co= ntainer.impl.PersistenceProviderTracker.addingService(PersistenceProviderTra= cker.java:44)
~[?:?]
at
org.osgi.u= til.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)=
~[?:?]
at
org.osgi.util.tracker.S= erviceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
~[?:?]
at org.osgi.util.tracker.AbstractTracked.trackAdding(= AbstractTracked.java:256)
~[?:?]
at org.osgi.uti= l.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
~[?:?]
at org.osgi.util.tracker.ServiceTracker.open(Service= Tracker.java:318) ~[?:?]
at org.osgi.util.tracker.ServiceTrack= er.open(ServiceTracker.java:261) ~[?:?]
at
org.a= pache.aries.jpa.container.impl.PersistenceBundleTracker.trackProvider(Persis= tenceBundleTracker.java:103)
~[?:?]
at
org.apache.aries.jpa.container.impl.PersistenceBundleTracker.findPersiste= nceUnits(PersistenceBundleTracker.java:87)
~[?:?]
at
org.apache.aries.jpa.container.impl.PersistenceBundleTrac= ker.addingBundle(PersistenceBundleTracker.java:66)
~[?:?]
at
org.apache.aries.jpa.container.impl.PersistenceBu= ndleTracker.addingBundle(PersistenceBundleTracker.java:39)
~[?= :?]
at
org.osgi.util.tracker.BundleTracker$Track= ed.customizerAdding(BundleTracker.java:469)
~[?:?]
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAd= ding(BundleTracker.java:415)
~[?:?]
at org.osgi.= util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
~[?:?]
at org.osgi.util.tracker.AbstractTracked.track(Abstr= actTracked.java:229) ~[?:?]
at
org.osgi.util.tra= cker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
~[?:?]
at
org.apache.felix.framework.EventDis= patcher.invokeBundleListenerCallback(EventDispatcher.java:915)
~[?:?]
at
org.apache.felix.framework.EventDispa= tcher.fireEventImmediately(EventDispatcher.java:834)
~[?:?]at
org.apache.felix.framework.EventDispatcher.fire= BundleEvent(EventDispatcher.java:516)
~[?:?]
at o= rg.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) ~[?:?]
at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) ~= [?:?]
at org.apache.felix.framework.Felix.setActiveStartLevel(= Felix.java:1373) ~[?:?]
at
org.apache.felix.fram= ework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
~[?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]


This looks like ver= sion mismatch.  I am loading the following packages in my
feature:

<feature>aries-blueprint</fe= ature>
<feature>war</feature>
<= ;feature>camel-core</feature>
<feature>camel-se= rvlet</feature>
<feature>camel-blueprint</featu= re>
<feature>camel-jackson</feature>
<feature>jndi</feature>
<feature>jdbc<= /feature>
<feature>transaction</feature>
<feature>jpa</feature>
<feature>open= jpa</feature>
<feature>pax-jdbc-mariadb</featur= e>
      <feature>pax-j= dbc-config</feature>


One t= hing I don=E2=80=99t know if is correct is the javax.persistence dependency i= n
my POM:

<dependency>
          <gr= oupId>org.eclipse.persistence</groupId>
  &= nbsp;       <artifactId>javax.persi= stence</artifactId>
      =     <version>2.0.5</version>
&= nbsp;         <scope>prov= ided</scope>
      </de= pendency>

Any hints?

Best regards,
Alex soto



-- 
Jean-Baptiste Onofr=C3=A9
jbonofre@apache.= org <mailto:jbonofre@apache.org>
http://blog.nanthr= ax.net
Talend - = ;http://www.talend.com<= /a>


--=  
Jean-Bapti= ste Onofr=C3=A9
jbonofre@apache.org <mailto:jbonofre@apach= e.org>
http://blog.nanthrax.net
Talend - htt= p://www.talend.com


-- 
Jean-Baptiste Onofr=C3=A9
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com


= --Apple-Mail-F335C330-7DF8-4FE0-ACDC-3F0F95CC8485--