Awesome Rodrigo,

thanks a bunch for sharing this.

Regards
JB

On 07/22/2014 05:28 PM, Rodrigo Serra wrote:
Hello,

I tried to work with last SNAPSHOT of karat 3.0.2 and i can be able to run JPA 
2.1 with eclipselinks 2.5.2. This is the procedure to install eclipselink 2.5.2:

karaf@root()> feature:install jdbc
karaf@root()> feature:install jndi
karaf@root()> feature:install transaction
karaf@root()> feature:install jpa
karaf@root()> list -t 0 | grep -i hibernate-jpa
91 | Active   |  30 | 1.0.0.Final           | hibernate-jpa-2.1-api
karaf@root()> uninstall -f 91
karaf@root()> install -s mvn:org.eclipse.persistence/javax.persistence/2.1.0
Bundle ID: 96
karaf@root()> install -s 
mvn:org.eclipse.persistence/org.eclipse.persistence.antlr/2.5.2
Bundle ID: 97
karaf@root()> install -s 
mvn:org.eclipse.persistence/org.eclipse.persistence.asm/2.5.2
Bundle ID: 98
karaf@root()> install -s 
mvn:org.eclipse.persistence/org.eclipse.persistence.core/2.5.2
Bundle ID: 99
karaf@root()> install -s 
mvn:org.eclipse.persistence/org.eclipse.persistence.jpa.jpql/2.5.2
Bundle ID: 100
karaf@root()> install -s 
mvn:org.eclipse.persistence/org.eclipse.persistence.jpa/2.5.2
Bundle ID: 101
karaf@root()> list
START LEVEL 100 , List Threshold: 50
  ID | State  | Lvl | Version                 | Name
------------------------------------------------------------------------------
  79 | Active |  80 | 1.6.0                   | Commons Pool
  80 | Active |  80 | 1.4                     | Commons DBCP
  81 | Active |  80 | 3.0.2.SNAPSHOT          | Apache Karaf :: JDBC :: Core
  82 | Active |  80 | 3.0.2.SNAPSHOT          | Apache Karaf :: JDBC :: Command
  90 | Active |  80 | 3.0.2.SNAPSHOT          | Apache Karaf :: JNDI :: Command
  96 | Active |  80 | 2.1.0.v201304241213     | Java Persistence API 2.1
  97 | Active |  80 | 3.2.0.v201302191141     | EclipseLink ANTLR
  98 | Active |  80 | 3.3.1.v201302191223     | EclipseLink ASM
  99 | Active |  80 | 2.5.2.v20140319-9ad6abd | EclipseLink Core
100 | Active |  80 | 2.5.2.v20140319-9ad6abd | EclipseLink Hermes Parser
101 | Active |  80 | 2.5.2.v20140319-9ad6abd | EclipseLink JPA
karaf@root()> ^D

Deploy eclipselink provider:

create file deploy/eclipselink-provider.xml

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
            
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";>

     <manifest xmlns="http://karaf.apache.org/xmlns/deployer/blueprint/v1.0.0";>
         Bundle-Version: 1.0.0
         Bundle-Description: Eclipselink JPA Provider
         Bundle-Name: EclipseLink JPA Provider
         Bundle-SymbolicName: org.eclipse.persistence.jpa.PersistenceProvider
     </manifest>

     <bean id="ECLIPSELINK_PERSISTENCE_PROVIDER"
       class="org.eclipse.persistence.jpa.PersistenceProvider">
     </bean>

     <service ref = "ECLIPSELINK_PERSISTENCE_PROVIDER"
              interface = "javax.persistence.spi.PersistenceProvider">
         <service-properties>
             <entry key = "org.apache.aries.jpa.proxy.factory" value="true"/>
             <entry key = "osgi.jndi.service.name"
                    value = "eclipselink.persistence.provider"/>
             <entry key = "osgi.unit.provider"
                    value = "org.eclipse.persistence.jpa.PersistenceProvider"/>
             <entry key = "javax.persistence.provider"
                    value = "org.eclipse.persistence.jpa.PersistenceProvider"/>
             <entry key = "javax.persistence.spi.PersistenceProvider"
                    value = "org.eclipse.persistence.jpa.PersistenceProvider"/>
             <entry key = "javax.persistence.PersistenceProvider"
                    value = "org.eclipse.persistence.jpa.PersistenceProvider"/>
         </service-properties>
     </service>
</blueprint>

This is the final installation:

karaf@root()> list
START LEVEL 100 , List Threshold: 50
  ID | State  | Lvl | Version                 | Name
------------------------------------------------------------------------------
  79 | Active |  80 | 1.6.0                   | Commons Pool
  80 | Active |  80 | 1.4                     | Commons DBCP
  81 | Active |  80 | 3.0.2.SNAPSHOT          | Apache Karaf :: JDBC :: Core
  82 | Active |  80 | 3.0.2.SNAPSHOT          | Apache Karaf :: JDBC :: Command
  90 | Active |  80 | 3.0.2.SNAPSHOT          | Apache Karaf :: JNDI :: Command
  96 | Active |  80 | 2.1.0.v201304241213     | Java Persistence API 2.1
  97 | Active |  80 | 3.2.0.v201302191141     | EclipseLink ANTLR
  98 | Active |  80 | 3.3.1.v201302191223     | EclipseLink ASM
  99 | Active |  80 | 2.5.2.v20140319-9ad6abd | EclipseLink Core
100 | Active |  80 | 2.5.2.v20140319-9ad6abd | EclipseLink Hermes Parser
101 | Active |  80 | 2.5.2.v20140319-9ad6abd | EclipseLink JPA
102 | Active |  80 | 1.0.0                   | EclipseLink JPA Provider

Some warning regarding to XML parser and messages from eclipselink are showed 
to stdout.

hibernate-jpa-2.1-api bundle need to by uninstalled because eclipselink have a 
dependency to bundle org.eclipse.persistence/javax.persistence/2.1.0 and these 
two bundle provide the same clases. The final effect are a confusion between 
Aries JPA and users bundle with class cast exception.

There is a extra trick, i don’t know why, but is necessary to add some package  
import in the bundle with persistence unit definition. This is the section 
needed for maven-bundle-plugin:

<Import-Package>
     org.eclipse.persistence.internal.weaving,
     org.eclipse.persistence.internal.descriptors,
     org.eclipse.persistence.queries,
     org.eclipse.persistence.descriptors.changetracking,
     org.eclipse.persistence.internal.identitymaps,
     org.eclipse.persistence.sessions,
     org.eclipse.persistence.internal.jpa.rs.metadata.model,
     org.eclipse.persistence.indirection,
     *
</Import-Package>

I hope this can be usefully to make eclipselink feature :)

Regards,
Rodrigo

El 22/07/2014, a las 09:03, Jean-Baptiste Onofré <[email protected]> escribió:

Hi Rodrigo,

I released Aries JPA 1.0.2 which now supports JPA 2.1.
Karaf 3.0.2-SNAPSHOT is already updated to this version and so supports JPA 2.1.

I didn't work on the eclipselink feature yet.

Regards
JB

On 07/22/2014 01:49 PM, Rodrigo Serra wrote:
Hello everybody,

Any news about JPA 2.1 and feature eclipselink? Is already in branch karat 
3.0.2?

Regards
Rodrigo

El 10/07/2014, a las 12:44, Jean-Baptiste Onofré <[email protected]> escribió:

3.0.2 is planned in two weeks (you can see the release schedule on the website).

It's not yet on trunk as I didn't push the Aries change yet. I will do it during the week 
end "max".

Regards
JB

On 07/10/2014 05:39 PM, Rodrigo Serra wrote:
Thank for you fast response JB.

Is already in trunk? What is the release time for 3.0.2?

Regards,
Rodrigo

El 10/07/2014, a las 12:00, Jean-Baptiste Onofré <[email protected]> escribió:

Hi Rodrigo,

no, JPA 2.1 will be supported in 3.0.2.

Regards
JB

On 07/10/2014 04:57 PM, Rodrigo Serra wrote:
Hello,

Is supported eclipselink JPA 2.1 in Karaf 3.01?

Regards
Rodrigo


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com



--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to