I use Hibernate as the persistence engine and the following features:

* jdbc
* pax-jdbc-h2
* pax-jdbc-postgresql
* jpa
* hibernate

In other projects I used eclipselink and they both work great.

I noticed the missing requirement osgi.contract=JavaJPA. I don't use that
in my JPA bundles, and after some investigation I noticed it was introduced
recently in the snapshot version of aries JPA.

Try to use the examples from aries.jpa version 2.6.1


João Assunção

Email: [email protected]
Mobile: +351 916968984
Phone: +351 211933149
Web: www.exploitsys.com



On Tue, Nov 21, 2017 at 4:24 PM, Jean-Baptiste Onofré <[email protected]>
wrote:

> Let me take a look'm. I was swamped on meetings today.
>
> Regards
> JB
> On Nov 21, 2017, at 17:23, Alex Soto <[email protected]> wrote:
>>
>> Thank you Francois, I tried EclipseLink, but it still doesn’t work.  I am
>> doing all this interactively on a fresh Karaf installation.  In my case
>> since I do  not have an actual database server,  so I am using H2.  I
>> installed the following features:
>>
>> feature:install jdbc
>> feature:install jndi
>> feature:install jpa
>> feature:install transaction
>> feature:install eclipselink
>> feature:install pax-jdbc
>> feature:install pax-jdbc-config
>> feature:install pax-jdbc-h2
>> feature:install pax-jdbc-pool-dbcp2
>>
>> *list*
>>
>> START LEVEL 100 , List Threshold: 50
>>  ID │ State     │ Lvl │ Version                 │ Name
>> ─────────────
>>  28 │ Active    │  80 │ 4.1.3                   │ Apache Karaf :: OSGi
>> Services :: Event
>>  53 │ Active    │  80 │ 1.9.2.1                 │ Apache ServiceMix ::
>> Bundles :: jasypt
>>  54 │ Active    │  80 │ 1.5.0                   │ OPS4J Base - Service
>> Provider Access
>>  55 │ Active    │  80 │ 1.1.0                   │ OPS4J Pax JDBC Generic
>> Driver Extender
>>  56 │ Active    │  80 │ 1.1.0                   │ OPS4J Pax JDBC Config
>>  57 │ Active    │  80 │ 1.1.0                   │ OPS4J Pax JDBC Pooling
>> Support Base
>>  58 │ Active    │  80 │ 1.0.0.201505202023      │
>> org.osgi:org.osgi.service.jdbc
>>  59 │ Active    │  80 │ 4.1.3                   │ Apache Karaf :: JDBC ::
>> Core
>>  67 │ Active    │  80 │ 3.0.0                   │ Expression Language 3.0
>> API
>>  68 │ Active    │  80 │ 1.2.0                   │ CDI APIs
>>  69 │ Active    │  80 │ 1.2                     │ javax.interceptor API
>>  70 │ Active    │  80 │ 1.2                     │ javax.transaction API
>>  71 │ Active    │  80 │ 2.6.1                   │ Apache Aries JPA
>> Container API
>>  72 │ Active    │  80 │ 2.6.1                   │ Apache Aries JPA
>> blueprint
>>  73 │ Active    │  80 │ 2.6.1                   │ Apache Aries JPA
>> container
>>  74 │ Active    │  80 │ 2.6.1                   │ Apache Aries JPA support
>>  77 │ Active    │  80 │ 1.6.0                   │ Commons Pool
>>  78 │ Active    │  80 │ 1.0.2                   │ Apache Felix
>> Coordinator Service
>>  79 │ Active    │  80 │ 1.1.1                   │ geronimo-jms_1.1_spec
>>  81 │ Active    │  80 │ 1.2                     │
>> geronimo-servlet_2.5_spec
>>  83 │ Active    │  80 │ 1.7.0.6                 │ Apache ServiceMix ::
>> Bundles :: ant
>>  84 │ Active    │  80 │ 1.4.0.3                 │ Apache ServiceMix ::
>> Bundles :: commons-dbcp
>>  85 │ Active    │  80 │ 1.0.0.2                 │ Apache ServiceMix ::
>> Bundles :: javax.inject
>>  88 │ Active    │  80 │ 1.1.1                   │ Apache Aries
>> Transaction Blueprint
>>  89 │ Active    │  80 │ 2.1.0                   │ Apache Aries
>> Transaction Blueprint
>>  90 │ Active    │  80 │ 1.3.3                   │ Apache Aries
>> Transaction Manager
>>  91 │ Active    │  80 │ 2.1.0.v201304241213     │ Java Persistence API 2.1
>>  92 │ Active    │  80 │ 2.6.1                   │ Apache Aries JPA
>> Container adapter for EclipseLink
>>  93 │ Active    │  80 │ 3.2.0.v201302191141     │ EclipseLink ANTLR
>>  94 │ Active    │  80 │ 5.0.1.v201405080102     │ EclipseLink ASM
>>  95 │ Active    │  80 │ 2.6.4.v20160829-44060b6 │ EclipseLink Core
>>  96 │ Active    │  80 │ 2.6.4.v20160829-44060b6 │ EclipseLink JPA
>>  97 │ Active    │  80 │ 2.6.4.v20160829-44060b6 │ EclipseLink Hermes
>> Parser
>>  98 │ Active    │  80 │ 1.3.172                 │ H2 Database Engine
>>  99 │ Active    │  80 │ 2.1.1                   │ Apache Commons DBCP
>> 100 │ Active    │  80 │ 2.4.2                   │ Apache Commons Pool
>> 101 │ Active    │  80 │ 3.2.4.1                 │ Apache ServiceMix ::
>> Bundles :: cglib
>> 102 │ Active    │  80 │ 1.1.0                   │ OPS4J Pax JDBC Pooling
>> DBCP2
>> 103 │ Installed │  80 │ 2.7.0.SNAPSHOT          │ Apache Aries JPA
>> example tasklist model
>>
>>
>> Copied file:   *org.ops4j.datasource-tasklist.cfg*. to *etc* containing:
>>
>> osgi.jdbc.driver.name=H2
>> databaseName=tasklist;create=true
>> dataSourceName=tasklist
>> pool=dbcp2
>> xa=true
>> jdbc.pool.maxTotal=8
>>
>> No data source is created, either command: * service:list DataSource, *or
>> * jdbc:ds-list*  don't show any data source.
>> Trying to deploy Aries-example jar
>>
>>  install -s mvn:org.apache.aries.jpa.example/org.apache.
>> aries.jpa.example.tasklist.model/2.7.0-SNAPSHOT
>>
>> Produces Error:
>>
>> Error executing command: Error installing bundles:
>> Unable to start bundle mvn:org.apache.aries.jpa.example/org.apache.aries.
>> jpa.example.tasklist.model/2.7.0-SNAPSHOT: 
>> org.osgi.framework.BundleException:
>> Unable to resolve org.apache.aries.jpa.example.tasklist.model [103](R
>> 103.0): missing requirement [org.apache.aries.jpa.example.tasklist.model
>> [103](R 103.0)] osgi.contract; (&(osgi.contract=JavaJPA)(version=2.1.0))
>> Unresolved requirements: [[org.apache.aries.jpa.example.tasklist.model
>> [103](R 103.0)] osgi.contract; (&(osgi.contract=JavaJPA)(version=2.1.0))]
>>
>>
>> I am at evaluation/proof-of-concept stage, just trying to figure out what
>> works out-of-the-box, so I don’t have a project created, I am just using
>> the Aries JPA example.  It does not look good as a viable approach so far.
>>
>> Best regards,
>> Alex soto
>>
>>
>>
>> On Nov 21, 2017, at 10:44 AM, Francois Papon <
>> [email protected]> wrote:
>>
>> Hi,
>>
>> I use EclipseLink for JPA implementation in a custo Karaf distribution
>> and it work's well.
>>
>> In my persistence feature pom I have this dependencies :
>>
>>         <dependency>
>>             <groupId>org.osgi</groupId>
>>             <artifactId>org.osgi.core</artifactId>
>>             <scope>provided</scope>
>>         </dependency>
>>
>>         <dependency>
>>             <groupId>org.osgi</groupId>
>>             <artifactId>osgi.cmpn</artifactId>
>>             <scope>provided</scope>
>>         </dependency>
>>
>>         <!-- JPA -->
>>         <dependency>
>>             <groupId>org.eclipse.persistence</groupId>
>>             <artifactId>javax.persistence</artifactId>
>>             <scope>provided</scope>
>>         </dependency>
>>         <dependency>
>>             <groupId>org.apache.aries.jpa</groupId>
>>             <artifactId>org.apache.aries.jpa.api</artifactId>
>>             <scope>provided</scope>
>>         </dependency>
>>
>> and in my assembly this feature on boot :
>>
>>                         <feature>jdbc</feature>
>>                         <feature>jndi</feature>
>>                         <feature>jpa</feature>
>>
>>                         <feature>transaction</feature>
>>                         <feature>eclipselink</feature>
>>
>>                         <feature>pax-jdbc</feature>
>>                         <feature>pax-jdbc-config</feature>
>>                         <feature>pax-jdbc-pool-hikaricp</feature>
>>                         <feature>pax-jdbc-pool-aries</feature>
>>                         <feature>pax-jdbc-postgresql</feature>
>>
>> in the etc folder the database config file 
>> "org.ops4j.datasource-mydatasource.cfg"
>> :
>>
>> osgi.jdbc.driver.class=org.postgresql.Driver
>> dataSourceName=my-datasource
>> databaseName=my-database
>> serverName=172.17.0.2
>> portNumber=5432
>> user=dbuser
>> password=dbpassword
>>
>> Hope this help.
>>
>> Le 21/11/2017 à 17:57, Alex Soto a écrit :
>>
>> Does anybody know a good, simple step by step tutorial on how to quickly
>> start using JPA 2.1 with Karaf 4.1.3?
>> At this point I am not requiring any specific JPA implementation/version
>> (Hibernate vs. any other).
>> So far using Karaf’s default has not worked for me.  I would expect
>> Karaf’s defaults should work out our the box.
>>
>>
>> On Nov 20, 2017, at 2:54 PM, Jean-Baptiste Onofré < [email protected]>
>> wrote:
>>
>> Ok, I see hibernate now. Let me check if I see the jpa spec bundle.
>>
>> Regards
>> JB
>> On Nov 20, 2017, at 20:42, Alex Soto < [email protected]> wrote:
>>>
>>> Thank you JB for the quick response.
>>> OK, so I installed the jpa feature:
>>>
>>> feature:install jpa
>>>
>>> karaf@root()> list
>>> START LEVEL 100 , List Threshold: 50
>>>  ID │ State     │ Lvl │ Version            │ Name
>>> ────┼───────────┼─────┼────────────────────┼────────────────
>>> ────────────────────────────────────────────────────────────
>>> ──────────────────────────────────────────────
>>>  28 │ Active    │  80 │ 4.1.3              │ Apache Karaf :: OSGi
>>> Services :: Event
>>>  52 │ Active    │  80 │ 1.3.0              │ ClassMate
>>>  53 │ Active    │  80 │ 3.20.0.GA          │ Javassist
>>>  54 │ Active    │  80 │ 1.2                │ javax.interceptor API
>>>  55 │ Active    │  80 │ 1.6.6              │ Byte Buddy (without
>>> dependencies)
>>>  56 │ Active    │  80 │ 2.7.7.5            │ Apache ServiceMix ::
>>> Bundles :: antlr
>>>  57 │ Active    │  80 │ 1.6.1.5            │ Apache ServiceMix ::
>>> Bundles :: dom4j
>>>  58 │ Active    │  80 │ 5.0.1.Final        │
>>> hibernate-commons-annotations
>>>  59 │ Active    │  80 │ 5.2.8.Final        │ hibernate-core
>>>  60 │ Active    │  80 │ 1.0.0.Final        │ hibernate-jpa-2.1-api
>>>  61 │ Active    │  80 │ 5.2.8.Final        │ hibernate-osgi
>>>  62 │ Active    │  80 │ 2.0.3.Final        │ Java Annotation Indexer
>>>  63 │ Active    │  80 │ 3.3.0.Final        │ JBoss Logging 3
>>>  65 │ Active    │  80 │ 1.9.2.1            │ Apache ServiceMix ::
>>> Bundles :: jasypt
>>>  66 │ Active    │  80 │ 1.1.0              │ OPS4J Pax JDBC Config
>>>  67 │ Active    │  80 │ 1.1.0              │ OPS4J Pax JDBC Pooling
>>> Support Base
>>>  68 │ Active    │  80 │ 1.0.0.201505202023 │
>>> org.osgi:org.osgi.service.jdbc
>>>  69 │ Active    │  80 │ 1.3.172            │ H2 Database Engine
>>> 117 │ Active    │  80 │ 1.2.0              │ CDI APIs
>>> 118 │ Active    │  80 │ 1.2                │ javax.transaction API
>>> 119 │ Active    │  80 │ 1.1.1              │ Apache Aries Transaction
>>> Blueprint
>>> 120 │ Active    │  80 │ 2.1.0              │ Apache Aries Transaction
>>> Blueprint
>>> 121 │ Active    │  80 │ 1.3.3              │ Apache Aries Transaction
>>> Manager
>>> 122 │ Active    │  80 │ 1.0.2              │ Apache Felix Coordinator
>>> Service
>>> 123 │ Active    │  80 │ 1.0.0.2            │ Apache ServiceMix ::
>>> Bundles :: javax.inject
>>> 124 │ Installed │  80 │ 2.7.0.SNAPSHOT     │ Apache Aries JPA example
>>> tasklist model
>>> 125 │ Active    │  80 │ 2.6.1              │ Apache Aries JPA Container
>>> API
>>> 126 │ Active    │  80 │ 2.6.1              │ Apache Aries JPA blueprint
>>> 127 │ Active    │  80 │ 2.6.1              │ Apache Aries JPA container
>>> 128 │ Active    │  80 │ 2.6.1              │ Apache Aries JPA support
>>> 129 │ Active    │  80 │ 1.1.1              │ geronimo-jms_1.1_spec
>>> 130 │ Active    │  80 │ 1.7.0.6            │ Apache ServiceMix ::
>>> Bundles :: antThe same problem persists
>>>
>>> And
>>>
>>> karaf@root()> bundle:diag 124
>>> Apache Aries JPA example tasklist model (124)
>>> ---------------------------------------------
>>> Status: Installed
>>> Unsatisfied Requirements:
>>> [org.apache.aries.jpa.example.tasklist.model [124](R 124.0)]
>>> osgi.service; (osgi.jndi.service.name=tasklist)
>>> [org.apache.aries.jpa.example.tasklist.model [124](R 124.0)]
>>> osgi.contract; (&(osgi.contract=JavaJPA)(version=2.1.0))
>>> Declarative Services
>>>
>>>
>>> Or is it something else I need to install?
>>>
>>> Best regards,
>>>
>>> Alex soto
>>> [email protected]
>>>
>>>
>>>
>>> On Nov 20, 2017, at 2:31 PM, Jean-Baptiste Onofré < [email protected]>
>>> wrote:
>>>
>>> I don't see the jpa engine in your bundle list ? Openjpa, hibernate,
>>> eclipselink ?
>>> The jpa version depends of the engine.
>>>
>>> Regards
>>> JB
>>> On Nov 20, 2017, at 20:09, Alex Soto < [email protected]> wrote:
>>>>
>>>> Hello,
>>>>
>>>> This is my first attempt to use JPA with Karaf, so I am trying to
>>>> follow example from   https://github.com/apache/aries-jpa using Karaf
>>>> 4.1.3, so far unsuccessfully.
>>>> On a clean Karaf I have installed the following:
>>>>
>>>> feature:install hibernate-orm
>>>>  feature:install pax-jdbc-config
>>>> feature:install pax-jdbc-h2
>>>> feature:install http-whiteboard
>>>> feature:install scr
>>>> feature:install transaction
>>>>
>>>> Then I copied the data source config file org.ops4j.datasource-tasklist.cfg
>>>> to the Karaf’s etc directory.
>>>>
>>>> Now, when I install the first Example bundle:
>>>>
>>>>
>>>> *install -s 
>>>> mvn:org.apache.aries.jpa.example/org.apache.aries.jpa.example.tasklist.model/2.7.0-SNAPSHOT*
>>>> Error executing command: Error installing bundles:
>>>> Unable to start bundle mvn:org.apache.aries.
>>>> jpa.example/org.apache.aries.jpa.example.tasklist.model/2.7.0-SNAPSHOT:
>>>> org.osgi.framework.BundleException: Unable to
>>>> resolve org.apache.aries.jpa.example.tasklist.model [124](R 124.0):
>>>> missing requirement [org.apache.aries.jpa.example.tasklist.model
>>>> [124](R 124.0)] osgi.contract; (&(osgi.contract=JavaJPA)(version=2.1.0))
>>>> Unresolved requirements: [[org.apache.aries.jpa.example.tasklist.model
>>>> [124](R 124.0)] osgi.contract; (&(osgi.contract=JavaJPA)(version=2.1.0))]
>>>>
>>>>
>>>> *list*
>>>> START LEVEL 100 , List Threshold: 50
>>>>  ID │ State  │ Lvl │ Version            │ Name
>>>> ────┼────────┼─────┼────────────────────┼───────────────────
>>>> ────────────────────────
>>>>  28 │ Active │  80 │ 4.1.3              │ Apache Karaf :: OSGi Services
>>>> :: Event
>>>>  52 │ Active │  80 │ 1.3.0              │ ClassMate
>>>>  53 │ Active │  80 │ 3.20.0.GA          │ Javassist
>>>>  54 │ Active │  80 │ 1.2                │ javax.interceptor API
>>>>  55 │ Active │  80 │ 1.6.6              │ Byte Buddy (without
>>>> dependencies)
>>>>  56 │ Active │  80 │ 2.7.7.5            │ Apache ServiceMix :: Bundles
>>>> :: antlr
>>>>  57 │ Active │  80 │ 1.6.1.5            │ Apache ServiceMix :: Bundles
>>>> :: dom4j
>>>>  58 │ Active │  80 │ 5.0.1.Final        │ hibernate-commons-annotations
>>>>  59 │ Active │  80 │ 5.2.8.Final        │ hibernate-core
>>>>  60 │ Active │  80 │ 1.0.0.Final        │ hibernate-jpa-2.1-api
>>>>  61 │ Active │  80 │ 5.2.8.Final        │ hibernate-osgi
>>>>  62 │ Active │  80 │ 2.0.3.Final        │ Java Annotation Indexer
>>>>  63 │ Active │  80 │ 3.3.0.Final        │ JBoss Logging 3
>>>>  65 │ Active │  80 │ 1.9.2.1            │ Apache ServiceMix :: Bundles
>>>> :: jasypt
>>>>  66 │ Active │  80 │ 1.1.0              │ OPS4J Pax JDBC Config
>>>>  67 │ Active │  80 │ 1.1.0              │ OPS4J Pax JDBC Pooling
>>>> Support Base
>>>>  68 │ Active │  80 │ 1.0.0.201505202023 │ org.osgi:org.osgi.service.jdbc
>>>>  69 │ Active │  80 │ 1.3.172            │ H2 Database Engine
>>>> 117 │ Active │  80 │ 1.2.0              │ CDI APIs
>>>> 118 │ Active │  80 │ 1.2                │ javax.transaction API
>>>> 119 │ Active │  80 │ 1.1.1              │ Apache Aries Transaction
>>>> Blueprint
>>>> 120 │ Active │  80 │ 2.1.0              │ Apache Aries Transaction
>>>> Blueprint
>>>> 121 │ Active │  80 │ 1.3.3              │ Apache Aries Transaction
>>>> Manager
>>>> 122 │ Active │  80 │ 1.0.2              │ Apache Felix Coordinator
>>>> Service
>>>> 123 │ Active │  80 │ 1.0.0.2            │ Apache ServiceMix :: Bundles
>>>> :: javax.injec
>>>>
>>>> *bundle:diag 124*
>>>> Unsatisfied Requirements:
>>>> [org.apache.aries.jpa.example.tasklist.model [124](R 124.0)]
>>>> osgi.service; (osgi.jndi.service.name=tasklist)
>>>> [org.apache.aries.jpa.example.tasklist.model [124](R
>>>> 124.0)] osgi.contract; (&(osgi.contract=JavaJPA)(version=2.1.0))
>>>>
>>>>
>>>> Any idea how to troubleshoot this problem?
>>>>
>>>> Best regards,
>>>> Alex soto
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>

Reply via email to