• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Junilu Lacar
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Rob Spoor
  • Bear Bibeault
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Piet Souris
  • Carey Brown
  • Stephan van Hulst
Bartenders:
  • Frits Walraven
  • fred rosenberger
  • salvin francis

Object that is Serializable and remote

 
Ranch Hand
Posts: 1066
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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:
 
Ranch Hand
Posts: 286
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Chris. I got the concept...
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
reply
    Bookmark Topic Watch Topic
  • New Topic