[infinispan-dev] [Pull Request] Modular Classloading Compatibility

David M. Lloyd david.lloyd at redhat.com
Wed May 4 09:33:01 EDT 2011


On 05/03/2011 11:18 PM, "이희승 (Trustin Lee)" wrote:
> By default, we could use the class loader that the current Unmarshaller
> uses, and let user choose a class loader for a certain get() call.
>
> So, we need to deal with the two issues here:
>
> 1) Make sure that user can configure the default class loader in runtime
> and calling get() (and consequently related unmarshaller) will use the
> default class loader:
>
>     cache.setDefaultClassLoader(UserClass.class.getClassLoader())
>
> 2) Provide an additional API that allows a user to specify a class
> loader for the current transaction or context:
>
>     cache.get(K key, Class<V>  clazz) // +1 to Pete's suggestion

Agreed on all parts.  If the default CL isn't set then TCCL is probably 
a reasonable default.  But the user should be allowed to set the default 
class loader for resolution.  To be fair though I don't know whether 
that makes sense at a cache level, but from a marshalling and modularity 
perspective this makes a lot of sense.

-- 
- DML


More information about the infinispan-dev mailing list