]
Bela Ban commented on JGRP-1860:
--------------------------------
OK, we'll take it from there. Note that we switched to Google Groups as mailing list:
\[1\]
\[1\]
Custom classloader in RpcDispatcher
-----------------------------------
Key: JGRP-1860
URL:
https://issues.redhat.com/browse/JGRP-1860
Project: JGroups
Issue Type: Feature Request
Affects Versions: 3.2.13
Reporter: Dennis Reed
Assignee: Bela Ban
Priority: Major
Fix For: 3.4.5, 3.5
RpcDispatcher is hard-coded to use JGroups' classloader when marshalling the
users's custom objects over RPC.
RpcDispatcher uses Util.objectFromByteBuffer to unmarshall, which uses an
ObjectInputStream. ObjectInputStream uses the classloader of its caller's class
(Util).
RpcDispatcher does allow a custom marshaller to be used (implementing
RpcDispatcher.Marshaller), but since Util.objectFromByteBuffer hard-codes the use of
ObjectInputStream, a custom marshaller cannot simply set the classloader and then delegate
back to the default JGroups code.
Util.objectFromBuffer should be enhanced to use a custom ObjectInputStream implementation
that overrides resolveClass to use a custom classloader, and an API should be added to
RpcDispatcher to pass in the classloader to use.