This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Distributed Java and the fly likes Locating rmi registry over the network Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Distributed Java
Bookmark "Locating rmi registry over the network" Watch "Locating rmi registry over the network" New topic
Author

Locating rmi registry over the network

Ricardo Marques
Greenhorn

Joined: May 08, 2002
Posts: 27
Hi everybody.
I am building a RMI Application but I am having some problems, locating the RMI registry, which I start with my server.
I know I will only have that server running in that machine (and only one RMI server), so the code looks like this:

In the future I am to replace the "1100" for a parameter, probably read from a properties file.
My server class will be running in a machine named PANORAMIX, inside the local area network.
My clients, which will be run on machines named like ASTERIX, OBELIX, IDEAFIX, ... need to get the RMI registry that I create when I start my server. The code I am using in the clients is:

The parameters, are again to be replaced by values read from properties file.
I am running the clients with

which has the following content

When I had the clients and the server both running in the same machine, ie, the security file had only one SocketPermission line: java.net.SocketPermission "127.0.0.1", "accept, connect, listen, resolve";
and I used LocateRegistry with "127.0.0.1", everything worked fine. Now that I have put them to run on different machines, I can no longer get to the RMI registry from the clients.
The exception text is "refused to connect".
Any help concerning this would be most appreciated.
Thank you.


Sun Certified Programmer for the Java 2 Platform 1.4<p>If I can create, I will make mistakes. If I can learn with them, it must be some kind of art.
karl koch
Ranch Hand

Joined: May 25, 2001
Posts: 388
hi
your policy file does not seem to be correct.
the word "permission" is missing for ASTERIX, OBELIX, IDEAFIX.
perhaps this prevents the file to be read correctly ?
since you still have the "permission java.security.AllPermission;" in your file you should not have any problem at all so i guess either your policy file is either not in the good place, incorrect or you do not load it correctly.
k
raimondas zemaitis
Ranch Hand

Joined: Feb 23, 2001
Posts: 104
in your code
LocateRegistry.getRegistry().rebind("workServer", server);
is looking for RMI registry on a default port (1099), while you create it on 1100 port. Statement that you have only one registry on your PC is not correct, LocateRegistry is not going to scan all possible ports on your machine to try to see which is being listened by registry.
Ricardo Marques
Greenhorn

Joined: May 08, 2002
Posts: 27
Thanks for the suggestions. I have found the solution some time ago, but still hadn't had the time to thank you.
Thank you.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Locating rmi registry over the network
 
Similar Threads
AccessControlException in RMI
Security & Policy file
Restrict the other IP addresses call to our main server
RMI Access Exceptions
RMI Projects in Netbeans 6 (setup)