This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'm new to RMI and I am having problems starting my server within netbeans 6.5.
When I run the server, I get this exception in my output window:
There was an error with the Binding:access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
here is the code in the HelloImpl.java file
I believe that it is not using my policy file. So what I would like to know is first, is it possible to set up the policies in code using java.security.policy? or is there a way to point netbeans to my policy file when it runs.
I've gone into the properties of the project, then run and added this to the arguments:
but that doesn't seem to make a difference.
Can someone please help me.
Did you start the RMI server before you attempted to run the HelloImpl program?
If yes, then try to run the HelloImpl program directly from a command line. Once you get this working correctly, then you can try to learn how to do it within the NetBeans IDE tool.
If no, then you need to have a RMI server running before attempting to bind objects in the server's registry.
The code you posted is not a RMI server. An RMI server is a separate application that is written already, you do not write the code of the server. You write applications that USE an RMI server for distributed processing.
Since, you are enabling security manager, you need to give connect/resolve socket permission for the registry port. I think you have not done so that is why it is giving you an access denied error.
If you do not know how to specify permissions in java, this article will get you started.