[infinispan-issues] [JBoss JIRA] Commented: (ISPN-1096) Rework application class loading to be more friendly to modular environments

Dan Berindei (JIRA) jira-events at lists.jboss.org
Wed May 11 12:58:23 EDT 2011


    [ https://issues.jboss.org/browse/ISPN-1096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12601436#comment-12601436 ] 

Dan Berindei commented on ISPN-1096:
------------------------------------

(b) isn't that much work, we already have an InvocationContext been passed around and we only need to add the classloader to it.

> Rework application class loading to be more friendly to modular environments
> ----------------------------------------------------------------------------
>
>                 Key: ISPN-1096
>                 URL: https://issues.jboss.org/browse/ISPN-1096
>             Project: Infinispan
>          Issue Type: Feature Request
>            Reporter: Pete Muir
>            Assignee: Manik Surtani
>
> There are two issues with modularity/classloading in Infinispan:
> 1) Using the TCCL as the classloader to load Infinispan classes is a bad idea. Instead we should use org.infinispan.foo.Bar.getClass().getClassLoader().
> This has been addressed as a separate issue.
> 2) When we need to load application classes we need a different approach to that used today. Most of the time the TCCL is perfect for this. However *sometimes* Infinispan may be invoked outside of the application, when the TCCL may not be set in AS7. Jason and I discussed three options:
> a) require (through a platform integration documentation contract) that the TCCL must always be set when Infinispan is invoked.
> b) Have some sort of InvocationContext which knows what the correct classloader to use is (aka Hibernate/Seam/Weld design where there is a per-application construct based on a ThreadLocal). Given this hasn't been designed into the core, it seems like a large retrofit
> c) Make users specify the CL (directly or indirectly) via the API (as we discussed).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list