]
Bela Ban resolved JGRP-2338.
----------------------------
Resolution: Done
RpcDispatcher: non-reflective method invocations
------------------------------------------------
Key: JGRP-2338
URL:
https://issues.jboss.org/browse/JGRP-2338
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Priority: Major
Fix For: 4.1.0
Running a native image produced by the GraalVM AOT (ahead-of-time) compiler prohibits the
use of Java Reflection.
However, RpcDispatcher uses {{java.lang.reflect.Method}} to invoke remote method calls.
h4. Goal
Provide a mode (in {{MethodCall}}) which doesn't require a {{MethodLookup}} table but
rather takes user-provided code (e.g. a lambda) to find and invoke the correct method.
This could be done by introducing an additional mode in {{MethodCall}} based on {{ID}}
which calls the (user-provided) lambda to invoke a method. The lambda would read the
arguments and invoke the method based on the received ID, then return the result.