You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Michael Dick <mi...@gmail.com> on 2008/11/12 17:07:57 UTC
Re: svn commit: r713374 - /openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
Will the change below result in a security exception? We might want to use
AccessController.doPrivileged(J2DoPrivHelper.getClassLoaderAction(PersistenceProviderImpl.class)));
instead.
I'm not sure it's really required but it caught my eye.
-mike
On Wed, Nov 12, 2008 at 8:09 AM, <kw...@apache.org> wrote:
> Author: kwsutter
> Date: Wed Nov 12 06:09:29 2008
> New Revision: 713374
>
> URL: http://svn.apache.org/viewvc?rev=713374&view=rev
> Log:
> OPENJPA-767. Change which classloader gets used for loading the OpenJPA
> runtime classes in a container environment. Previous to this change, we
> were using the classloader provided to us via the PersistenceUnitInfo. But,
> this wasn't sufficient in an OSGi-container environment. Initial tests show
> that using the classloader of the PersistenceProviderImpl is working
> better... More testing and experimentation required...
>
> Modified:
>
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
>
> Modified:
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> URL:
> http://svn.apache.org/viewvc/openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java?rev=713374&r1=713373&r2=713374&view=diff
>
> ==============================================================================
> ---
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> (original)
> +++
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> Wed Nov 12 06:09:29 2008
> @@ -140,7 +140,7 @@
> }
>
> BrokerFactory factory = getBrokerFactory(cp, poolValue,
> - pui.getClassLoader());
> + PersistenceProviderImpl.class.getClassLoader());
> if (transformerException != null) {
> Log log = factory.getConfiguration().getLog(
> OpenJPAConfiguration.LOG_RUNTIME);
>
>
>
Re: svn commit: r713374 - /openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
Posted by Kevin Sutter <kw...@gmail.com>.
No, it's not needed in this case. Since we're just getting access to the
classloader for the Class that we're currently executing (ie.
PersistenceProviderImpl in this case), then just doing a standard
getClassLoader() invocation is acceptable. We've followed this practice in
other areas of the OpenJPA code.
Kevin
On Wed, Nov 12, 2008 at 10:07 AM, Michael Dick <mi...@gmail.com>wrote:
> Will the change below result in a security exception? We might want to use
>
> AccessController.doPrivileged(J2DoPrivHelper.getClassLoaderAction(PersistenceProviderImpl.class)));
> instead.
>
> I'm not sure it's really required but it caught my eye.
>
> -mike
>
> On Wed, Nov 12, 2008 at 8:09 AM, <kw...@apache.org> wrote:
>
> > Author: kwsutter
> > Date: Wed Nov 12 06:09:29 2008
> > New Revision: 713374
> >
> > URL: http://svn.apache.org/viewvc?rev=713374&view=rev
> > Log:
> > OPENJPA-767. Change which classloader gets used for loading the OpenJPA
> > runtime classes in a container environment. Previous to this change, we
> > were using the classloader provided to us via the PersistenceUnitInfo.
> But,
> > this wasn't sufficient in an OSGi-container environment. Initial tests
> show
> > that using the classloader of the PersistenceProviderImpl is working
> > better... More testing and experimentation required...
> >
> > Modified:
> >
> >
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> >
> > Modified:
> >
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java?rev=713374&r1=713373&r2=713374&view=diff
> >
> >
> ==============================================================================
> > ---
> >
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> > (original)
> > +++
> >
> openjpa/sandboxes/osgi/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
> > Wed Nov 12 06:09:29 2008
> > @@ -140,7 +140,7 @@
> > }
> >
> > BrokerFactory factory = getBrokerFactory(cp, poolValue,
> > - pui.getClassLoader());
> > + PersistenceProviderImpl.class.getClassLoader());
> > if (transformerException != null) {
> > Log log = factory.getConfiguration().getLog(
> > OpenJPAConfiguration.LOG_RUNTIME);
> >
> >
> >
>