[infinispan-issues] [JBoss JIRA] (ISPN-9561) GlobalConfiguration should keep strong reference to classloader

Dan Berindei (JIRA) issues at jboss.org
Mon Oct 1 07:56:01 EDT 2018


     [ https://issues.jboss.org/browse/ISPN-9561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Berindei updated ISPN-9561:
-------------------------------
    Summary: GlobalConfiguration should keep strong reference to classloader  (was: GlobalConfiguration classloader reference should be strong)


> GlobalConfiguration should keep strong reference to classloader
> ---------------------------------------------------------------
>
>                 Key: ISPN-9561
>                 URL: https://issues.jboss.org/browse/ISPN-9561
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 9.4.0.CR3
>            Reporter: Dan Berindei
>            Assignee: Dan Berindei
>             Fix For: 9.4.0.Final
>
>
> {{GlobalConfiguration}} uses a {{WeakReference}} to store its classloader, in order to allow {{JCachingProvider}} to use a {{WeakHashMap<ClassLoader, DefaultCacheManager>}}.
> The weak reference works fine when the classloader is the application classloader, but if the application (or the server, in our case) creates a {{ClassLoader}} instance just for the Infinispan configuration, that classloader can be garbage collected while the cache manager is starting. That is exactly what happens during server startup sometimes, making {{GlobalComponentRegistry}} use the TCCL for module initialization and ignoring all the non-core modules.
> We can still use a {{WeakClassLoader}} adapter that wraps a {{WeakReference<ClassLoader>}} for {{JCachingProvider}}.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the infinispan-issues mailing list