Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Object that is Serializable and remote  RSS feed

 
Vishwa Kumba
Ranch Hand
Posts: 1066
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was reading RMI and came across this question:
If a Serializable object(implements java.io.Serializable) is passed as a parameter or a return value, then a copy of the object is sent from one address space to another. Similary, if a remote object(implements java.rmi.Remote) is passed, then a reference of the object is sent from one address to another.
What would be the case if the object implements both java.io.Serializable and java.rmi.Remote? Will a copy or a reference of the object be sent from one address to another? :roll:
 
Chris Shepherd
Ranch Hand
Posts: 286
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A copy would be sent.
Serializable is what java looks for to see if it can bundle up the object and send it to a stream.
Your definition of remote is not exactly true. A remote object can certainly be passed if it also implements serializable, however, the Remote interface is really nothing more than a flag. To actually make much use of it, you must sub-class(interface) it. Only methods named in that sub-interface can be called remotely. There is never a "pass" made with an object that implements a Remote subinterface. The Object on the client end must have an existing, matching object on the server end to make a connection to.
The registry is the dating service of the RMI world. It takes in personals(Naming.rebind) from the server, waits for a client call(Naming.lookup) for the interface matching its rebind info, and puts them in touch with each other.
Ok, that got a bit wierd, but I hope it made sense. If it answered your question, all the better.
Any questions?
Chris
 
Vishwa Kumba
Ranch Hand
Posts: 1066
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Chris. I got the concept...
 
Clement Low
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I just want to know if the following is true:

1) synchronisation methods will just the concurrency issues?
2) what u meant by thread-safe?
3) by passing a copy of the object to the client, if there is anything that the client needs to write to file, can i just get the information from that copy and ask my server to do the processing (am i right?)

I am getting a bit confused here.
Thanks
Clement
 
Chris Shepherd
Ranch Hand
Posts: 286
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK, i don't understand what you are trying to ask in either questions 1 or 2.
For 3, it depends on where you want the file written- on the client or on the server. wherever it is to be written, that entity probably do the processing based on the copy of the object that it has.

Chris
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!