You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@aries.apache.org by Michael Täschner <m....@gmail.com> on 2012/10/05 14:49:19 UTC

Re: How to use Aries JPA (0.3) with EclipseLink ?

Hi LB,

sorry to come back to this topic again but I have another questions. How
can I manage the eclipselink pool settings to make them configurable at
runtime (exchanging blueprint.xml would be an option). Right now I have
configured them with compile-time filter in persistence.xml. Any other
option possible ?

EclipseLink Pool config:
      <property name="eclipselink.jdbc.read-connections.min"
value="${jdbc.read-connections.min}" />
      <property name="eclipselink.jdbc.read-connections.max"
value="${jdbc.read-connections.max}" />
      <property name="eclipselink.jdbc.read-connections.shared"
value="${jdbc.read-connections.shared}" />
      <property name="eclipselink.jdbc.write-connections.min"
value="${jdbc.write-connections.min}" />
      <property name="eclipselink.jdbc.write-connections.max"
value="${jdbc.write-connections.max}" />


Thanks and Regards,
Michael

2012/9/11 lb <lb...@gmail.com>

> 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 <ch...@gmail.com>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 <m....@gmail.com>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 <m....@gmail.com>
>>>
>>>> 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 <ch...@gmail.com>
>>>>
>>>>> They are installed but not started.
>>>>>
>>>>>
>>>>> On Mon, Sep 10, 2012 at 1:47 PM, Michael Täschner <
>>>>> m.taeschner@gmail.com> 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 <ch...@gmail.com>
>>>>>>
>>>>>>> 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 <
>>>>>>> m.taeschner@gmail.com> 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
>>
>>
>>
>

Re: How to use Aries JPA (0.3) with EclipseLink ?

Posted by Michael Täschner <m....@gmail.com>.
Hi Luca,

thanks for the immediate reply. Meanwhile I tried with dbcp (using
servicemix wrapper: org.apache.servicemix.bundles.commons-dbcp-1.4_3.jar
and commons-pool) and got it running with a similar bean definition using
"org.apache.commons.dbcp.BasicDataSource" and it works as well.

Thanks for pointing out the direction to look to.

Regards,
Michael

2012/10/5 lb <lb...@gmail.com>

> Hi Michael,
> that is a tricky part.. At the beginning I tried to use something like:
>
> <bean id="contextWithProps">
>     <jpa:context property="em">
>       <map>
>         <entry key="one" value="eins" />
>         <entry key="two" value="zwo" />
>       </map>
>     </jpa:context></bean>
>
> But it looks like aries has some troubles (there should be a post in the
> mailing list about that).
> The easy solution is to delegate the connection pooling to an additional
> library so you can ave a bundle that export a DataSource:
>
> <bean id="DS" class="com.jolbox.bonecp.BoneCPDataSource"
> destroy-method="close">
>         <property name="driverClass"
> value="${db.class}"/>
>         <property name="jdbcUrl"
> value="${db.url}"/>
>         <property name="username"
> value="${db.usr}"/>
>         <property name="password"
> value="${db.pwd}"/>
>         <property name="minConnectionsPerPartition"
> value="${pool.min}"/>
>         <property name="maxConnectionsPerPartition"
> value="${pool.max}"/>
>         <property name="acquireIncrement"
> value="${pool.partitions}"/>
>         <property name="partitionCount"
> value="${pool.inc}"/>
>         <property name="idleConnectionTestPeriodInSeconds"
> value="${connection.idle.test.period}"/>
>         <property name="connectionTestStatement"
> value="${connection.idle.test.query}"/>
>         <property name="acquireRetryDelayInMs"
> value="${connection.acquire.delay}"/>
>         <property name="acquireRetryAttempts"
> value="${connection.acquire.attempts}"/>
> </bean>
>
> <service ref="DS" interface="javax.sql.DataSource">
>         <service-properties>
>             <entry key="osgi.jndi.service.name" value="jdbc/DS"/>
>         </service-properties>
> </service>
>
> Then in the persistence.xml you can use the DS trough Aries JNDI:
>
> <persistence-unit name="TheUnitName" transaction-type="RESOURCE_LOCAL">
>
> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
>         <non-jta-data-source>osgi:service/javax.sql.DataSource/(
> osgi.jndi.service.name=jdbc/DS)</non-jta-data-source>
>         <class>x.y.z</class>
>         <exclude-unlisted-classes>true</exclude-unlisted-classes>
>         <properties>
>             <property
> name="eclipselink.logging.level"                      value="FINEST"/>
>             <property
> name="eclipselink.logging.parameters"                 value="true"/>
>             <property
> name="eclipselink.logging.timestamp"                  value="false"/>
>             <property
> name="eclipselink.logging.session"                    value="false"/>
>             <property
> name="eclipselink.logging.thread"                     value="false"/>
>             <property
> name="eclipselink.logging.exceptions"                 value="true"/>
>             <property
> name="eclipselink.session.include.descriptor.queries" value="true"/>
>     </properties>
> </persistence-unit>
>
> Not the best and flexible solution, but it is the best one I0ve found so
> far.
>
> Ciao,
> Luca
>
>
>
> On Fri, Oct 5, 2012 at 2:49 PM, Michael Täschner <m....@gmail.com>wrote:
>
>> Hi LB,
>>
>> sorry to come back to this topic again but I have another questions. How
>> can I manage the eclipselink pool settings to make them configurable at
>> runtime (exchanging blueprint.xml would be an option). Right now I have
>> configured them with compile-time filter in persistence.xml. Any other
>> option possible ?
>>
>> EclipseLink Pool config:
>>       <property name="eclipselink.jdbc.read-connections.min"
>> value="${jdbc.read-connections.min}" />
>>       <property name="eclipselink.jdbc.read-connections.max"
>> value="${jdbc.read-connections.max}" />
>>       <property name="eclipselink.jdbc.read-connections.shared"
>> value="${jdbc.read-connections.shared}" />
>>       <property name="eclipselink.jdbc.write-connections.min"
>> value="${jdbc.write-connections.min}" />
>>       <property name="eclipselink.jdbc.write-connections.max"
>> value="${jdbc.write-connections.max}" />
>>
>>
>> Thanks and Regards,
>> Michael
>>
>>
>> 2012/9/11 lb <lb...@gmail.com>
>>
>>> 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 <ch...@gmail.com>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 <
>>>> m.taeschner@gmail.com> 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 <m....@gmail.com>
>>>>>
>>>>>> 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 <ch...@gmail.com>
>>>>>>
>>>>>>> They are installed but not started.
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Sep 10, 2012 at 1:47 PM, Michael Täschner <
>>>>>>> m.taeschner@gmail.com> 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 <ch...@gmail.com>
>>>>>>>>
>>>>>>>>> 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 <
>>>>>>>>> m.taeschner@gmail.com> 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
>>>>
>>>>
>>>>
>>>
>>
>

Re: How to use Aries JPA (0.3) with EclipseLink ?

Posted by lb <lb...@gmail.com>.
Hi Michael,
that is a tricky part.. At the beginning I tried to use something like:

<bean id="contextWithProps">
    <jpa:context property="em">
      <map>
        <entry key="one" value="eins" />
        <entry key="two" value="zwo" />
      </map>
    </jpa:context></bean>

But it looks like aries has some troubles (there should be a post in the
mailing list about that).
The easy solution is to delegate the connection pooling to an additional
library so you can ave a bundle that export a DataSource:

<bean id="DS" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
        <property name="driverClass"
value="${db.class}"/>
        <property name="jdbcUrl"
value="${db.url}"/>
        <property name="username"
value="${db.usr}"/>
        <property name="password"
value="${db.pwd}"/>
        <property name="minConnectionsPerPartition"
value="${pool.min}"/>
        <property name="maxConnectionsPerPartition"
value="${pool.max}"/>
        <property name="acquireIncrement"
value="${pool.partitions}"/>
        <property name="partitionCount"
value="${pool.inc}"/>
        <property name="idleConnectionTestPeriodInSeconds"
value="${connection.idle.test.period}"/>
        <property name="connectionTestStatement"
value="${connection.idle.test.query}"/>
        <property name="acquireRetryDelayInMs"
value="${connection.acquire.delay}"/>
        <property name="acquireRetryAttempts"
value="${connection.acquire.attempts}"/>
</bean>

<service ref="DS" interface="javax.sql.DataSource">
        <service-properties>
            <entry key="osgi.jndi.service.name" value="jdbc/DS"/>
        </service-properties>
</service>

Then in the persistence.xml you can use the DS trough Aries JNDI:

<persistence-unit name="TheUnitName" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <non-jta-data-source>osgi:service/javax.sql.DataSource/(
osgi.jndi.service.name=jdbc/DS)</non-jta-data-source>
        <class>x.y.z</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties>
            <property name="eclipselink.logging.level"
value="FINEST"/>
            <property name="eclipselink.logging.parameters"
value="true"/>
            <property name="eclipselink.logging.timestamp"
value="false"/>
            <property name="eclipselink.logging.session"
value="false"/>
            <property name="eclipselink.logging.thread"
value="false"/>
            <property name="eclipselink.logging.exceptions"
value="true"/>
            <property name="eclipselink.session.include.descriptor.queries"
value="true"/>
    </properties>
</persistence-unit>

Not the best and flexible solution, but it is the best one I0ve found so
far.

Ciao,
Luca


On Fri, Oct 5, 2012 at 2:49 PM, Michael Täschner <m....@gmail.com>wrote:

> Hi LB,
>
> sorry to come back to this topic again but I have another questions. How
> can I manage the eclipselink pool settings to make them configurable at
> runtime (exchanging blueprint.xml would be an option). Right now I have
> configured them with compile-time filter in persistence.xml. Any other
> option possible ?
>
> EclipseLink Pool config:
>       <property name="eclipselink.jdbc.read-connections.min"
> value="${jdbc.read-connections.min}" />
>       <property name="eclipselink.jdbc.read-connections.max"
> value="${jdbc.read-connections.max}" />
>       <property name="eclipselink.jdbc.read-connections.shared"
> value="${jdbc.read-connections.shared}" />
>       <property name="eclipselink.jdbc.write-connections.min"
> value="${jdbc.write-connections.min}" />
>       <property name="eclipselink.jdbc.write-connections.max"
> value="${jdbc.write-connections.max}" />
>
>
> Thanks and Regards,
> Michael
>
>
> 2012/9/11 lb <lb...@gmail.com>
>
>> 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 <ch...@gmail.com>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 <m.taeschner@gmail.com
>>> > 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 <m....@gmail.com>
>>>>
>>>>> 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 <ch...@gmail.com>
>>>>>
>>>>>> They are installed but not started.
>>>>>>
>>>>>>
>>>>>> On Mon, Sep 10, 2012 at 1:47 PM, Michael Täschner <
>>>>>> m.taeschner@gmail.com> 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 <ch...@gmail.com>
>>>>>>>
>>>>>>>> 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 <
>>>>>>>> m.taeschner@gmail.com> 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
>>>
>>>
>>>
>>
>