karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: Aries JPA feature and Eclipselink conflict
Date Tue, 03 Feb 2015 20:13:20 GMT
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 <rodrigo.serra@jlab.com.ar>:
>
>> 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é <jb@nanthrax.net>
>> 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 <giuseppe.gerla@gmail.com>
>> 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é <jb@nanthrax.net>:
>>>>>
>>>>>> 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é <jb@nanthrax.net>:
>>>>>>>
>>>>>>> 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é
>>>>>>>> jbonofre@apache.org
>>>>>>>> http://blog.nanthrax.net
>>>>>>>> Talend - http://www.talend.com
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> Jean-Baptiste Onofré
>>>>>> jbonofre@apache.org
>>>>>> http://blog.nanthrax.net
>>>>>> Talend - http://www.talend.com
>>>>>>
>>>>
>>>>
>>>
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org <mailto:jbonofre@apache.org>
>>> http://blog.nanthrax.net <http://blog.nanthrax.net/>
>>> Talend - http://www.talend.com <http://www.talend.com/>
>>
>

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

Mime
View raw message