Remote Reflection API
Remote Reflection is a Java API that makes it easier to call remote methods on remote JVM in a simple way without the need for any special configurations or common contracts between client and server.
Test Service
package com.app.server;
public class Service {
public String hello(String name) {
return "Hello " + name + " from server";
}
}
Server
In the server application (the application which you want to expose its method remotely), add the following at the end of your main method:
package com.app.server;
import com.jk.core.reflection.server.ReflectionServer;
public class App {
public static void main(String[] args) {
ReflectionServer server = new ReflectionServer(7125);
server.start();
}
}
That’s it, now you can expose any method inside this application VM to your application client.
Client
In the client application (the application which should consume the remote method):
package com.app.client;
import com.jk.core.reflection.client.ReflectionClient;
import com.jk.core.reflection.common.MethodCallInfo;
public class App {
public static void main(String[] args) {
ReflectionClient client=new ReflectionClient("localhost", 7125);
MethodCallInfo info=new MethodCallInfo("com.app.server.Service", "hello", "Jalal");
client.callMethod(info);
String result = (String) info.getResult();
System.out.println(result);
}
}