[
https://issues.jboss.org/browse/WFLY-7367?page=com.atlassian.jira.plugin....
]
Scott Marlow commented on WFLY-7367:
------------------------------------
potential implementation is pushed to
https://github.com/scottmarlow/wildfly/commits/WFLY-7367_cachetempclasslo.... We would
want to add a persistence unit hint check as well before merging. I'm going to
address the entity class leak differently as Hibernate only seems to call
getNewTempClassLoader once per persistence unit, its our ORM Scanner implementation code
that needs to cache the new temp class loader instead (class leak is mostly from change
for AS7-3085).
add per PU cache of the new temp classloader returned from
PersistenceUnitMetadataImpl.getNewTempClassLoader()
--------------------------------------------------------------------------------------------------------------
Key: WFLY-7367
URL:
https://issues.jboss.org/browse/WFLY-7367
Project: WildFly
Issue Type: Enhancement
Components: JPA / Hibernate
Reporter: Scott Marlow
Assignee: Scott Marlow
The new temporary classloader returned by the WildFly
PersistenceUnitInfo.getNewTempClassLoader() is currently created on every call.
Ensure that the cached temp classloader reference is cleared after the
PersistenceProvider.createContainerEntityManagerFactory() call returns.
Javadoc description from
[
http://docs.oracle.com/javaee/7/api/javax/persistence/spi/PersistenceUnit...]
{quote}
ClassLoader getNewTempClassLoader()
Return a new instance of a ClassLoader that the provider may use to temporarily load any
classes, resources, or open URLs. The scope and classpath of this loader is exactly the
same as that of the loader returned by getClassLoader(). None of the classes loaded by
this class loader will be visible to application components. The provider may only use
this ClassLoader within the scope of the
PersistenceProvider.createContainerEntityManagerFactory(javax.persistence.spi.PersistenceUnitInfo,
java.util.Map) call.
Returns:
temporary ClassLoader with same visibility as current loader
{quote}
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)