aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes RemoteData object creation as local object Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "RemoteData object creation as local object" Watch "RemoteData object creation as local object" New topic

RemoteData object creation as local object

Pankaja Bansal

Joined: Feb 16, 2006
Posts: 19
Hi everybody

I have created an adapter class and I made this class as a remote object by extending UnicastRemoteObject . I am creating an object of this class using the code below in quotes.

DBClient localConnection = new RemoteData() ;

It works just fine but if I remove the stubs and the skeleton files, it gives an error even though I am not using the stubs functionality. My question is, Is it a violation of the below rule :

In either case, the program must allow the user to specify the location of the database, and it must also accept an indication that a local database is to be used, in which case, the networking must be bypassed entirely

Please suggest. I really need some good advice on this.

Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11476

Hi Pankaja,

From memory when you instantiate a class that extends UnicastRemoteObject it exports an instance of the object using a network port (so it starts listening for a connection). A simple example of this is:The program itself is in lines 3 - 14, and all it does is create an instance of a class that extends UnicastRemoteObject.

In line 16 I check how many ports I have LISTENing - this is shown in line 17 - I have 39 ports running for one reason or another :roll:

In line 20 I start my application in the background (if you are not running in a Unix (or Unix like) machine, you could simply run the additional steps in a separate DOS window).

Now that it is running, I check how many ports I have LISTENing in line 24 - in line 25 I now see that I have 40 ports LISTENing.

As for whether allowing this networking port to start listening is going to break the requirement that networking be bypassed - it is a bit of a grey area. Technically you are not using the network, so you might get away with it. But personally I would not chance it.

Regards, Andrew
[ March 13, 2006: Message edited by: Andrew Monkhouse ]

The Sun Certified Java Developer Exam with J2SE 5: paper version from Amazon, PDF from Apress, Online reference: Books 24x7 Personal blog
Sergey Zolotaryov

Joined: Mar 14, 2006
Posts: 26
I avoided unexpected networking this way:
1. Created business layer object, which operates locally on the Data class
2. Created another object, which extends UnicastRemoteObject and implements the same interface that the object in 1 does. All the methods actually redirect to non-networked version of the business layer object.
3. Created a factory, which constructs either local or network business layer objects. In local mode I am guaranteed to use only non-network form. In networked form, only a network wrapper is needed (poin 2), but code is all in the non-networked version.
I agree. Here's the link:
subject: RemoteData object creation as local object