Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-2542

Using custom openjpa.BrokerFactory not working in OSGi due to ClassLoader

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.3.0, 2.4.0
    • 2.4.0
    • osgi
    • None
    • JBoss Fuse 6.1, Apache Aries JPA 1.0.1.redhat-610379

    Description

      For reasons discussed on the openjpa-user MailingList 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.

      Attachments

        1. OPENJPA-2542.patch
          3 kB
          Richard G. Curtis

        Issue Links

          Activity

            People

              curtisr7 Richard G. Curtis
              j0xaf Jörn Gersdorf
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: