Christian,

Thanks.

> I think the mysql driver indeed registers the DSF. You might need to provide 
> the bundle for the DataSourceFactory api though. Can you try that?
The DataSourceFactory is exported by the enterprise bundle (Ugh, I didn’t 
really write that… that shouldn’t even be in my runtime).

g! packages org.osgi.service.jdbc
osgi.wiring.package; bundle-symbolic-name="osgi.enterprise"; 
bundle-version:Version="5.0.0.201203141834"; version:Version="1.0.0"; 
osgi.wiring.package="org.osgi.service.jdbc"; 
uses:="javax.sql"<osgi.enterprise_5.0.0.201203141834 [7]>
  org.apache.aries.jpa.container_2.3.0 [51] imports
  org.ops4j.pax.jdbc.pool.common_0.9.0 [60] imports
  org.ops4j.pax.jdbc.pool.dbcp2_0.9.0 [58] imports
  org.ops4j.pax.jdbc.config_0.9.0 [59] imports
  org.ops4j.pax.jdbc_0.9.0 [57] imports

I also don’t see that package imported by the mysql bundle.

Erwin

> 
> Christian
> 
> 2017-01-06 18:18 GMT+01:00 Erwin Hogeweg <[email protected] 
> <mailto:[email protected]>>:
> Thanks,
> 
> I can see the reasoning. That is confusing though. I thought that the MySQL 
> driver now registered the DSF, just like the h2 bundle, so I removed the 
> pax-jdbc bundles... after which the MySQL bundle did NOT 'register' the DSF 
> anymore :-)
> 
> Erwin
>  
> El ene. 6, 2017, a las 10:30, Christian Schneider <[email protected] 
> <mailto:[email protected]>> escribió:
> 
>> I think the behaviour of pax-jdbc is correct. It should register the DSF in 
>> the name of the jdbc provider bundle.
>> 
>> Christian
>> 
>> 2017-01-06 13:52 GMT+01:00 Erwin Hogeweg <[email protected] 
>> <mailto:[email protected]>>:
>> Christian,
>> 
>>> On Jan 6, 2017, at 2:22 AM, Christian Schneider <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> That might be a bug. I think jpa container should register both 
>>> EntityManagerFactoryBuilder and EntityManagerFactory in the name of the 
>>> persistence bundle.
>>> Can you open an issue for this?
>>> 
>> Sure: https://issues.apache.org/jira/browse/ARIES-1652 
>> <https://issues.apache.org/jira/browse/ARIES-1652>
>> 
>> Do you want me to open a separate one for the pax-jdbc-config bundle? I 
>> believe that bundle has the same author(s)…
>> 
>> Erwin
>>> Christian
>>> 
>>> 2017-01-05 14:31 GMT+01:00 Erwin Hogeweg <[email protected] 
>>> <mailto:[email protected]>>:
>>> Hi,
>>> 
>>> I am seeing a strange (wildly confusing) service registration when using 
>>> the Aries JPA Container with Equinox. Not sure where the problem is, so I 
>>> figured I start here.
>>> 
>>> When the DataSource and the PersistenceProvider are available the container 
>>> registers the EntityMangerFactory* services. However, the 
>>> EntityManagerFactoryBuilder Service shows up as being registered by the 
>>> container bundle while the EntityMangerFactory Services shows up as being 
>>> registered by the bundle that provides the persistence unit.
>>> 
>>> g! b 53
>>> org.apache.aries.jpa.container_2.3.0 [53]
>>>   Id=53, Status=ACTIVE      Data Root=...
>>>   "Registered Services"
>>>     {org.osgi.framework.hooks.weaving.WeavingHook}=...
>>>     {org.osgi.service.cm <http://org.osgi.service.cm/>.ManagedService}=...
>>>     
>>> {org.osgi.service.jpa.EntityManagerFactoryBuilder}={osgi.unit.version=4.1.0.SNAPSHOT_20170104-2222,
>>>  osgi.unit.name <http://osgi.unit.name/>=my.pu, 
>>> osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider, 
>>> service.id <http://service.id/>=119, service.bundleid=53, 
>>> service.scope=singleton}
>>>   Services in use:
>>>     {javax.sql.DataSource}=...
>>>     {javax.persistence.spi.PersistenceProvider}=...
>>> 
>>> g! b 111
>>> com.my.model_4.1.0.SNAPSHOT_20170104-2222 [111]
>>>   Id=111, Status=ACTIVE      Data 
>>> Root=/Users/erwin/.../org.eclipse.osgi/111/data
>>>   "Registered Services"
>>>     
>>> {javax.persistence.EntityManagerFactory}={osgi.unit.version=4.1.0.SNAPSHOT_20170104-2222,
>>>  osgi.unit.name <http://osgi.unit.name/>=my.pu, 
>>> osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider, 
>>> service.id <http://service.id/>=125, service.bundleid=111, 
>>> service.scope=singleton}
>>>   No services in use.
>>> 
>>> This is with equinox 3.10.2.v20150203-1939, J8.
>>> 
>>> BTW, I see the same thing happening with the mysql and the pax-jdbc-config 
>>> bundles. The DataSourceFactory service shows as being registered by the 
>>> mysql bundle, while it is actually registered by the config bundle.
>>> 
>>> What am I missing here? Is this a feature, a bug, or is my brain not 
>>> flexible enough to comprehend this? 
>>> 
>>> 
>>> Thanks,
>>> 
>>> Erwin
>>> 
>>> 
>>> 
>>> -- 
>>> -- 
>>> Christian Schneider
>>> http://www.liquid-reality.de 
>>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>
>>> 
>>> Open Source Architect
>>> http://www.talend.com 
>>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>
>> 
>> 
>> 
>> -- 
>> -- 
>> Christian Schneider
>> http://www.liquid-reality.de 
>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>
>> 
>> Open Source Architect
>> http://www.talend.com 
>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>
> 
> 
> -- 
> -- 
> Christian Schneider
> http://www.liquid-reality.de 
> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>
> 
> Open Source Architect
> http://www.talend.com 
> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>

Reply via email to