Are there any tips or rules for increasing performance of RMI calls?
Created May 4, 2012
Maxim Senin So far I discovered only one rule of thumb: avoid passing objects as parameters or return values - primitive types serialize much faster than objects because Java objects are so flat. The only object I was unable to avoid passing as a parameter in most applications is String.
I'd define an API that uses object IDs, so that clients operate with IDs only, and the server performs all the work of finding reference to object by ID.
Suppose you write a chat application with RMI. Instead of coding
ChatRoom remoteChatRoom; // ... somehow get reference to chat room remoteChatRoom.postMessage (message);I'd use
// when connecting to chat room, get room ID int CHAT_ROOM_ID = chatServer.getRoomID(); // chat server will take care // about finding local reference to room // by object id and somehow post message in it chatServer.postMessage (CHAT_ROOM_ID, message);Any better ideas?