Jörn Gersdorf created OPENJPA-2542:
--------------------------------------
Summary: Using custom openjpa.BrokerFactory not working in OSGi
due to ClassLoader
Key: OPENJPA-2542
URL: https://issues.apache.org/jira/browse/OPENJPA-2542
Project: OpenJPA
Issue Type: Bug
Components: osgi
Affects Versions: 2.3.0
Environment: JBoss Fuse 6.1, Apache Aries JPA 1.0.1.redhat-610379
Reporter: Jörn Gersdorf
For reasons discussed on the [openjpa-user
MailingList|http://mail-archives.apache.org/mod_mbox/openjpa-users/201411.mbox/%3CCALLZsMnXPQT%2BeQB3VjYe4U05%2BgSR%2Bw37QqXGRdxdvM-kgEXdLw%40mail.gmail.com%3E]
I need to use a custom BrokerFactory in an OSGi environment.
My custom BrokerFactory is obviously in my own OSGi bundle, not in the official
OpenJPA bundle. Now, due to OPENJPA-1491
{{org.apache.openjpa.kernel.Bootstrap}} (in connection with
{{org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceUnitInfo,
Map) and
org.apache.openjpa.persistence.osgi.PersistenceActivator.getBundleClassLoader()),
my BrokerFactories can only live in the official OpenJPA bundle, so that my
custom BrokerFactory is not found.
In my opinion it would be better if
{{org.apache.openjpa.persistence.osgi.PersistenceActivator.getBundleClassLoader()}}
would return a ClassLoader not only delegating to openjpa´s bundle but _in
addition_ (as a fallback) to the {{PersistenceUnitInfo}}´s bundle.
That way one would be able to use arbitrary BrokerFactories by importing them
if required to the bundle where {{persistence.xml}} is defined.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)