Is communication between clients and servers in java rmi secure (i.e. encrypted by default)?
By secure I guess you mean encrypted. Not by default with RMI. You can use custom socket factories to encrypt RMI comms.
Not mentioned this far: You can set up a VPN between the machines for full layer 2 security.
Encoded, yes. Encrypted, no.
JERI for JINI gives JRMP (the RMI protocol) over SSL, IIRC.
JSR #76 would have provided RMI Security, however it was controversially voted down.
I think you mean "encrypted" not "encoded". The answer is no. If you're using RMI in a non-trusted environment I would suggest something like RMI over SSH tunneling.
In short, no.
http://java.sun.com/j2se/1.4.2/docs/guide/rmi/faq.html#encryption
In essence, the network channel has to be encrypted if you need things to be secure.