Yes you are right. The mysql bundle does not create the DSF. So you
still need pax-jdbc-mysql.
Christian
On 09.01.2017 18:30, Erwin Hogeweg wrote:
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>
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com