RipeRMI is a bug-fixed and feature-enhanced fork of the LipeRMI-project which make bi-directional Java RMI easy and straightforward. Our main features include:
For questions, please refer to the JSPF Support Group.
Creating a server
// Create a CallHandler that manages the exported objects CallHandler callHandler = new CallHandler(); callHandler.registerGlobal(MyInterface.class, myService); // Create a server that exports the CallHandler to the network Server server = new Server(); server.bind(55661, callHandler);
// Create a CallHandler that manages imported objects and connect it to a server CallHandler callHandler = new CallHandler(); Client client = new Client("127.0.0.1", 55661, callHandler); // Get an exported interface. MyInterface service = client.getGlobal(MyInterface.class);
Here some results of the internal test.benchmarks run, performed on a MacBook 2.4 GHz (Snow Leopard, Java 6) and the results of a similar benchmark performed on an Ubuntu 10.4 quad core (3.3GHz, Java 7) server.
MacBook Pro (1k passes) Callback result: 1000 calls took 1062.0 ms. Void result: 1000 calls took 1174.0ms. Int result: 1000 calls took 885.0 ms. Ubuntu Server (10k passes) Callback result (single): 10000 calls took 4184.0 ms. Callback result (10 objects sent on same call): 1000 calls took 497.0 ms. Void result: 10000 calls took 3167.0ms. Int result: 10000 calls took 2566.0 ms.