[infinispan-dev] distributed execution - invoking commands on self
Vladimir Blagojevic
vblagoje at redhat.com
Mon Apr 18 09:12:48 EDT 2011
On 11-04-18 7:58 AM, Manik Surtani wrote:
> I still think Mircea's suggestion is very valid. Try cloning first. If cloning is not supported then serialize/deserialize. And in any case you only need 1 copy of the callable to send across to all other nodes, and the original copy for local execution, right?
>
Even if a type implements Cloneable we can not cast it to Cloneable and
invoke clone as Cloneable is just a marker interface. One can invoke
clone only on types known to implement clone method (ArrayList, Set etc
etc). Yes, if type implements Cloneable we could reasonably assume that
it implemented clone method but still - we have to resort to reflection
to invoke clone method but that route is even worse IMHO. I'd avoid this
altogether.
It is just one copy for local execution. Time it takes to do this is
several magnitudes smaller than the task of migrating Callables around
the cluster executing them and collecting results from all those non
local Callables.
Vladimir
More information about the infinispan-dev
mailing list