Hi,
to make Aries 0.3 to work with EclipseLink (on karaf 2.1.7) I had to export
the service via blueprint as:

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

    <bean
        id    = "ELINK_PP"
        class = "org.eclipse.persistence.jpa.PersistenceProvider"
        scope = "prototype"/>

    <service interface="javax.persistence.spi.PersistenceProvider"
ref="ELINK_PP">
        <service-properties>
            <entry
                key  ="javax.persistence.provider"
                value="org.eclipse.persistence.jpa.PersistenceProvider"/>
        </service-properties>
    </service>
</blueprint>

Not the best way I think, but it works :-)

On Mon, Sep 10, 2012 at 9:16 PM, Charles Moulliard <[email protected]> wrote:

> This message is related to the fact that Aries JPA is not able to find the
> JPA service from OSGI service
>
>
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.aries.jpa/org.apache.aries.jpa.container/0.3/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java
> See line 556
>
> Can you check if EclipseLink well register an OSGI service with Interface
> name = "javax.persistence.provider" ?
>
>
> On Mon, Sep 10, 2012 at 3:20 PM, Michael Täschner 
> <[email protected]>wrote:
>
>> Update,
>>
>> I installed the EclipseLink JPA OSGi bundle
>> (org.eclipse.persistence.osgi) containing persistenceProvider
>> implementation as declared in persistence.xml:
>> "<provider>org.eclipse.persistence.jpa.osgi.PersistenceProvider</provider>".
>>
>> Now the aries error message "There are no suitable providers for the
>> provider class name org.eclipse.persistence.jpa.osgi.PersistenceProvider
>> and version range null" turned into "There are no providers available" :
>> 2012-09-10 15:14:19,279 | WARN  | Event Dispatcher |
>> container                        | 239 - org.apache.aries.jpa.container -
>> 0.3.0 | There are no providers available.
>> 2012-09-10 15:14:19,281 | WARN  | Event Dispatcher |
>> container                        | 239 - org.apache.aries.jpa.container -
>> 0.3.0 | There are no providers available.
>> 2012-09-10 15:14:19,303 | INFO  | rint Extender: 3 |
>> BlueprintContainerImpl           | 9 - org.apache.aries.blueprint - 0.3.2 |
>> Bundle org.example.osgi.dao is waiting for dependencies
>> [(&(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name
>> =Customers))(objectClass=javax.persistence.EntityManagerFactory))]
>>
>> Yet still no idea, why it can't find the provider ? It is declared in
>> persistence.xml
>>
>> Any idea ?
>>
>> Thanks and Regards,
>> Michael
>>
>>
>> 2012/9/10 Michael Täschner <[email protected]>
>>
>>> Well, according to osgi:list they are also started (the previous output
>>> was from features:list):
>>> karaf@root> list -t 0 | grep JPA
>>> [ 195] [Active     ] [            ] [       ] [   30] Apache Geronimo
>>> JSR-317 JPA 2.0 Spec API (1.1)
>>> [ 196] [Active     ] [            ] [       ] [   30] Aries JPA
>>> Container API (0.3.0)
>>> [ 197] [Active     ] [Created     ] [       ] [   30] Aries JPA
>>> Container blueprint integration for Aries blueprint (0.3.0)
>>> [ 198] [Active     ] [            ] [       ] [   30] Aries JPA
>>> Container (0.3.0)
>>> [ 199] [Active     ] [            ] [       ] [   30] Aries JPA
>>> Container Managed Contexts (0.3.0)
>>>
>>> [ 209] [Active     ] [            ] [       ] [   80] EclipseLink JPA
>>> (2.0.0.v20091127-r5931)
>>>
>>> karaf@root> list -t 0 | grep JNDI
>>> [  72] [Active     ] [            ] [       ] [   30] Jetty :: JNDI
>>> Naming (7.5.4.v20111024)
>>> [ 175] [Active     ] [            ] [       ] [   30] Apache Aries JNDI
>>> API (0.3.0)
>>> [ 176] [Active     ] [            ] [       ] [   30] Apache Aries JNDI
>>> Core (0.3.0)
>>> [ 177] [Active     ] [            ] [       ] [   30] Apache Aries JNDI
>>> RMI Handler (0.3.0)
>>> [ 178] [Active     ] [            ] [       ] [   30] Apache Aries JNDI
>>> URL Handler (0.3.0)
>>> [ 179] [Active     ] [            ] [       ] [   30] Apache Aries JNDI
>>> Support for Legacy Runtimes (0.3.0)
>>>
>>>
>>> Regards,
>>> Michael
>>>
>>> 2012/9/10 Charles Moulliard <[email protected]>
>>>
>>>> They are installed but not started.
>>>>
>>>>
>>>> On Mon, Sep 10, 2012 at 1:47 PM, Michael Täschner <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>> yes, I installed Aries JPA and JNDI features via console:
>>>>> [installed  ] [0.3            ] jpa
>>>>> karaf-enterprise-2.2.9 OSGi Persistence Container
>>>>> [installed  ] [0.3            ] jndi
>>>>> karaf-enterprise-2.2.9 OSGi Service Registry JNDI access
>>>>>
>>>>> Anything else required ?
>>>>>
>>>>> Regards,
>>>>> Michael
>>>>>
>>>>>
>>>>> 2012/9/10 Charles Moulliard <[email protected]>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Have you also installed Aries JPA feature as you need it ?
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>>
>>>>>> On Mon, Sep 10, 2012 at 1:33 PM, Michael Täschner <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I am trying to get Aries JPA running with EclipseLink (2.0.3) in
>>>>>>> Karaf container. DataSource is implemented as blueprint file and 
>>>>>>> referenced
>>>>>>> via Aries JNDI in persistence.xml.
>>>>>>>
>>>>>>> The bundles start ok (OSGi) but the bluepint for the DAO does not
>>>>>>> get initialized ("Failure"). There are also entries in the log ("not
>>>>>>> suitable providers") for which I have not found any info in google:
>>>>>>> 2012-09-10 11:25:02,070 | INFO  | raf-2.2.9/deploy |
>>>>>>> fileinstall                      | 6 - org.apache.felix.fileinstall - 
>>>>>>> 3.2.4
>>>>>>> | Started bundle:
>>>>>>> blueprint:file:/D:/work/karaf/apache-karaf-2.2.9/deploy/datasource_blueprint.xml
>>>>>>> 2012-09-10 11:25:07,178 | INFO  | raf-2.2.9/deploy |
>>>>>>> fileinstall                      | 6 - org.apache.felix.fileinstall - 
>>>>>>> 3.2.4
>>>>>>> | Uninstalled
>>>>>>> D:\work\karaf\apache-karaf-2.2.9\deploy\org.eclipse.equinox.console_1.0.0.v20120522-1841.jar
>>>>>>> 2012-09-10 13:06:19,558 | WARN  | raf-2.2.9/deploy |
>>>>>>> container                        | 198 - org.apache.aries.jpa.container 
>>>>>>> -
>>>>>>> 0.3.0 | There are no suitable providers for the provider class name
>>>>>>> org.eclipse.persistence.jpa.osgi.PersistenceProvider and version range 
>>>>>>> null.
>>>>>>> 2012-09-10 13:06:19,584 | INFO  | raf-2.2.9/deploy |
>>>>>>> fileinstall                      | 6 - org.apache.felix.fileinstall - 
>>>>>>> 3.2.4
>>>>>>> | Installed 
>>>>>>> D:\work\karaf\apache-karaf-2.2.9\deploy\dao-1.0.0-SNAPSHOT.jar
>>>>>>> 2012-09-10 13:06:19,825 | WARN  | Refresh Packages |
>>>>>>> container                        | 198 - org.apache.aries.jpa.container 
>>>>>>> -
>>>>>>> 0.3.0 | There are no suitable providers for the provider class name
>>>>>>> org.eclipse.persistence.jpa.osgi.PersistenceProvider and version range 
>>>>>>> null.
>>>>>>> 2012-09-10 13:06:19,863 | WARN  | raf-2.2.9/deploy |
>>>>>>> container                        | 198 - org.apache.aries.jpa.container 
>>>>>>> -
>>>>>>> 0.3.0 | There are no suitable providers for the provider class name
>>>>>>> org.eclipse.persistence.jpa.osgi.PersistenceProvider and version range 
>>>>>>> null.
>>>>>>> 2012-09-10 13:06:19,879 | WARN  | raf-2.2.9/deploy |
>>>>>>> container                        | 198 - org.apache.aries.jpa.container 
>>>>>>> -
>>>>>>> 0.3.0 | There are no suitable providers for the provider class name
>>>>>>> org.eclipse.persistence.jpa.osgi.PersistenceProvider and version range 
>>>>>>> null.
>>>>>>> 2012-09-10 13:06:19,879 | INFO  | raf-2.2.9/deploy |
>>>>>>> fileinstall                      | 6 - org.apache.felix.fileinstall - 
>>>>>>> 3.2.4
>>>>>>> | Started bundle:
>>>>>>> file:/D:/work/karaf/apache-karaf-2.2.9/deploy/dao-1.0.0-SNAPSHOT.jar
>>>>>>> 2012-09-10 13:06:19,992 | INFO  | rint Extender: 1 |
>>>>>>> BlueprintContainerImpl           | 9 - org.apache.aries.blueprint - 
>>>>>>> 0.3.2 |
>>>>>>> Bundle org.example.osgi.dao is waiting for dependencies
>>>>>>> [(&(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name
>>>>>>> =Customers))(objectClass=javax.persistence.EntityManagerFactory))]
>>>>>>> 2012-09-10 13:11:20,028 | ERROR | rint Extender: 1 |
>>>>>>> BlueprintContainerImpl           | 9 - org.apache.aries.blueprint - 
>>>>>>> 0.3.2 |
>>>>>>> Unable to start blueprint container for bundle org.example.osgi.dao due 
>>>>>>> to
>>>>>>> unresolved dependencies [(&(&(!(org.apache.aries.jpa.proxy.factory=*))(
>>>>>>> osgi.unit.name
>>>>>>> =Customers))(objectClass=javax.persistence.EntityManagerFactory))]
>>>>>>> java.util.concurrent.TimeoutException
>>>>>>>     at
>>>>>>> org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:293)[9:org.apache.aries.blueprint:0.3.2]
>>>>>>>     at
>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_31]
>>>>>>>     at
>>>>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_31]
>>>>>>>     at
>>>>>>> java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_31]
>>>>>>>     at
>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_31]
>>>>>>>     at
>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_31]
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_31]
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_31]
>>>>>>>     at java.lang.Thread.run(Thread.java:662)[:1.6.0_31]
>>>>>>>
>>>>>>>
>>>>>>> bundles:
>>>>>>> karaf@root> list
>>>>>>> START LEVEL 100 , List Threshold: 50
>>>>>>>    ID   State         Blueprint      Spring    Level  Name
>>>>>>> [  54] [Active     ] [            ] [       ] [   80] Apache Felix
>>>>>>> Declarative Services (1.6.1.SNAPSHOT)
>>>>>>> [  55] [Active     ] [            ] [       ] [   80] Sun
>>>>>>> Microsystems' JDBC Driver for MySQL (5.1.20)
>>>>>>> [ 173] [Active     ] [            ] [       ] [   50] Apache CXF
>>>>>>> Compatibility Bundle Jar (2.6.1)
>>>>>>> [ 203] [Active     ] [Created     ] [       ] [   80]
>>>>>>> datasource_blueprint.xml (0.0.0)
>>>>>>> [ 204] [Active     ] [            ] [       ] [   80]
>>>>>>> eclipselink_feature.xml (0.0.0)
>>>>>>> [ 205] [Active     ] [            ] [       ] [   80] Java
>>>>>>> Persistence API 2.0 (2.0.3.v201010191057)
>>>>>>> [ 206] [Active     ] [            ] [       ] [   80] EclipseLink
>>>>>>> ANTLR (2.0.0.v20091127-r5931)
>>>>>>> [ 207] [Active     ] [            ] [       ] [   80] EclipseLink
>>>>>>> ASM (2.0.0.v20091127-r5931)
>>>>>>> [ 208] [Active     ] [            ] [       ] [   80] EclipseLink
>>>>>>> Core (2.0.0.v20091127-r5931)
>>>>>>> [ 209] [Active     ] [            ] [       ] [   80] EclipseLink
>>>>>>> JPA (2.0.0.v20091127-r5931)
>>>>>>> [ 212] [Active     ] [Failure     ] [       ] [   80] dao
>>>>>>> (1.0.0.SNAPSHOT)
>>>>>>>
>>>>>>> Any hint would be welcome.
>>>>>>>
>>>>>>> Thanks and Regards,
>>>>>>> Michael
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Charles Moulliard
>>>>>> Apache Committer / Sr. Pr. Consultant at FuseSource.com
>>>>>> Twitter : @cmoulliard
>>>>>> Blog : http://cmoulliard.blogspot.com
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Charles Moulliard
>>>> Apache Committer / Sr. Pr. Consultant at FuseSource.com
>>>> Twitter : @cmoulliard
>>>> Blog : http://cmoulliard.blogspot.com
>>>>
>>>>
>>>>
>>>
>>
>
>
> --
> Charles Moulliard
> Apache Committer / Sr. Pr. Consultant at FuseSource.com
> Twitter : @cmoulliard
> Blog : http://cmoulliard.blogspot.com
>
>
>

Reply via email to