Hi Gioseppe,

fully agree about the EclipseLink feature, and actually it's something already planned (following previous discussion with Rodrigo). It will be included in next Karaf releases (I will create the Jira to keep track of that).

Regards
JB

On 02/03/2015 09:11 PM, Giuseppe Gerla wrote:
Hi all
@Rodrigo thanks for suggestion.

@JB What do you think about creating a new feature in Karaf for EclipseLink?
Can be something like this



     <feature name="aries-jpa-eclipselink" version="2.1.0"
description="OSGi Persistence Container 2.1 with Eclipselink provider"
resolver="(obr)">        <details>            JPA 2.1 implementation
provided by Apache Aries JPA and Eclipselink ${eclipselink-version}
JPA provider        </details>                <!-- Copy from
enterprise-3.0.3-features.xml jpa/2.1.0 -->                <feature
version="[1.1,2)">transaction</feature>        <!-- The following
bundle is the diference from the original feature jpa/2.1.0 -->
<bundle 
start-level="30">mvn:org.eclipse.persistence/javax.persistence/2.1.0</bundle>
        <bundle 
start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/1.0.2</bundle>
        <bundle 
start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint.aries/1.0.4</bundle>
        <bundle 
start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/1.0.2</bundle>
        <bundle 
start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.container.context/1.0.4</bundle>
          <!-- END Copy from enterprise-3.0.3-features.xml jpa/2.1.0 -->
          <!-- Eclipselink adapter -->
        <bundle 
start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.container.itest.bundle.eclipselink/1.0.0</bundle>

          <bundle
start-level="30">mvn:org.eclipse.persistence/org.eclipse.persistence.antlr/${eclipselink-version}</bundle>
        <bundle 
start-level="30">mvn:org.eclipse.persistence/org.eclipse.persistence.asm/${eclipselink-version}</bundle>
        <bundle 
start-level="30">mvn:org.eclipse.persistence/org.eclipse.persistence.core/${eclipselink-version}</bundle>
        <bundle 
start-level="30">mvn:org.eclipse.persistence/org.eclipse.persistence.jpa.jpql/${eclipselink-version}</bundle>
        <bundle 
start-level="30">mvn:org.eclipse.persistence/org.eclipse.persistence.jpa/${eclipselink-version}</bundle>
     </feature>

Note that in this case it must be deployed also the aries eclipselink
adapter.



regards
Giuseppe

2015-02-03 19:17 GMT+01:00 Rodrigo Serra <[email protected]>:

Yes, is correct. The feature i develop copy jpa feature definition from
karaf enterprise, change jpa-api-hibernate to eclipselink one, and add all
other eclipselink dependencies. Is the only way because eclipselink wired.

Regards,
Rodrigo

El 3/2/2015, a las 14:54, Jean-Baptiste Onofré <[email protected]>
escribió:

In that case, eclipselink feature should not depend to the jpa feature
and install its own spec bundle (it's weird anyway ;)).

Regards
JB

On 02/03/2015 06:34 PM, Rodrigo Serra wrote:
Hello,

Eclipselink need they own jpa spec bundle because others eclipselink
bundle has direct relation with it. See here:
https://bitbucket.org/rmserra/karaf-eclipselink <
https://bitbucket.org/rmserra/karaf-eclipselink><
https://bitbucket.org/rmserra/karaf-eclipselink <
https://bitbucket.org/rmserra/karaf-eclipselink>>

Regards,
Rodrigo

El 3/2/2015, a las 14:17, Giuseppe Gerla <[email protected]>
escribió:

no
if I digit the command
karaf@root> list -t 0 | grep gero
[  56] [Active     ] [            ] [   30] geronimo-jta_1.1_spec
(1.1.1)
[  70] [Active     ] [            ] [   80] geronimo-jms_1.1_spec
(1.1.1)
[  95] [Active     ] [            ] [   50]
geronimo-annotation_1.0_spec
(1.1.1)
[  96] [Active     ] [            ] [   50]
geronimo-j2ee-management_1.1_spec (1.0.1)
[ 115] [Active     ] [            ] [   50]
geronimo-j2ee-connector_1.5_spec (2.0.0)


The only JPA api bundle is hibernate 2.1

I think that the problem is in eclipselink import package

Import-Package: javax.naming;resolution:=optional,javax.persistence;jp
a="2.1";version="[1.1.0,2.2)",javax.persistence.criteria;jpa="2.1";ve
rsion="[1.1.0,2.2)",javax.persistence.metamodel;jpa="2.1";....


As you can see they specified the jpa="2.1" that is not present in the
export package of hibernate api:

Export-Package: javax.persistence;uses:="javax.persistence.metamodel,j
avax.persistence.criteria,javax.persistence.spi";version="2.1.0",java
x.persistence.criteria;uses:="javax.persistence.metamodel,javax.persi
stence";version="2.1.0",javax.persistence.metamodel;version="2.1.0",j
avax.persistence.spi;uses:="javax.persistence,javax.sql";version="2.1
.0"


Regards
Giuseppe

2015-02-03 18:06 GMT+01:00 Jean-Baptiste Onofré <[email protected]>:

For me, it doesn't seem related specifically to the hibernate API
bundle,
but more for the version.

So, you use the jpa 2.0 feature (using the Geronimo Spec bundle) ?

Regards
JB


On 02/03/2015 06:03 PM, Giuseppe Gerla wrote:

I don't know if there is an EclipseLink feature.
As you can see in my feature I define each bundle manually.
The problem is that EclipseLink bundles don't work with hibernate
api. It
shows this error

karaf@root> ERROR: Bundle org.eclipse.persistence.jpa [130] Error
starting
mvn:org.eclipse.persistence/org.eclipse.persistence.jpa/2.5.2
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.eclipse.persistence.jpa [130]: Unable to resolve 130.0: missing
requirement [130.0] osgi.wiring.package;
(&(osgi.wiring.package=javax.persistence)(jpa=2.1)(version>
=1.1.0)(!(version>=2.2.0))
))
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.eclipse.persistence.jpa [130]: Unable to resolve 130.0: missing
requirement [130.0] osgi.wiring.package; (&(osgi.wiring.package=
javax.persistence)(jpa=2.1)(version>=1.1.0)(!(version>=2.2.0)))
         at

org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4002)
         at
org.apache.felix.framework.Felix.startBundle(Felix.java:2045)
         at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
         at
org.apache.felix.framework.FrameworkStartLevelImpl.run(
FrameworkStartLevelImpl.java:304)
         at java.lang.Thread.run(Thread.java:745)


Regards
Giuseppe


2015-02-03 17:14 GMT+01:00 Jean-Baptiste Onofré <[email protected]>:

Hi,

we can do a conditional feature.

The jpa feature (JPA 2.1) installs the Hibernate JPA 2.1 spec
bundle.

Does it mean that EclipseLink feature install its own JPA spec
bundle ?

Regards
JB


On 02/03/2015 05:10 PM, Giuseppe Gerla wrote:

Hi all
I need to use Aries-JPA in combination with eclipselink and mysql.
I prepare following feature to install all dependency.


<feature name="jpa-requirements" version="1.0.0">
<feature>transaction</feature>
<feature>jndi</feature>
<feature>jpa</feature>
<feature>jms</feature>


<bundle
start-level='30'>mvn:org.apache.aries.jpa/org.apache.
aries.jpa.eclipselink.adapter/1.0.0-SNAPSHOT
</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.
servicemix.bundles.commons-dbcp/1.4_3
</bundle>
<bundle>mvn:mysql/mysql-connector-java/${mysql.connector.version}
</bundle>

<bundle>mvn:org.eclipse.persistence/javax.persistence/
${jpa.eclipselink.version}
</bundle>

<bundle>mvn:org.eclipse.persistence/org.eclipse.persistence.antlr/${
eclipselink.version}
</bundle>
<bundle>mvn:org.eclipse.persistence/org.eclipse.
persistence.asm/${eclipselink.version}
</bundle>
<bundle>mvn:org.eclipse.persistence/org.eclipse.persistence.core/${
eclipselink.version}
</bundle>
<bundle>mvn:org.eclipse.persistence/org.eclipse.
persistence.jpa/${eclipselink.version}
</bundle>
</bundle>
</feature>


The problem is that after the installation of this feature, I have
to
manually uninstall

mvn: org.hibernate.javax.persistence / hibernate-jpa-2.1-api /
1.0.0.Final

contained in the jpa feature because it is in conflict with

mvn: org.eclipse.persistence / javax.persistence / 2.1.0

which is necessary for EclipseLink.


Is it possible to uninstall the hibernate bundle automatically? Is
it
possible install jpa feature excluding hibernate bundle?


Thanks
Regards
Giuseppe


--
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] <mailto:[email protected]>
http://blog.nanthrax.net <http://blog.nanthrax.net/>
Talend - http://www.talend.com <http://www.talend.com/>



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

Reply via email to