2011-01-11 11 views
0

java.security.AccessControlExceptionの問題をどのようにソートするのですか? myRMIServerを実行しているときに、この例外が発生していますか?rmiプログラムの実行中にjava.security.AccessControlExceptionの問題をソートするにはどうすればよいですか?

マイコード:

import java.rmi.*; 
import java.rmi.server.UnicastRemoteObject; 

public class myRMIServer 
{ 
     public static void main(String[] argv) 
       { 
       System.setSecurityManager(new RMISecurityManager()); 
       try 
         { 
         myRMIImpl implementation = new myRMIImpl("myRMIImplInstance"); 
         } 
       catch (Exception e) 
         { 
         System.out.println("Exception occurred: " + e); 
         } 
       } 
} 

public interface myRMIInterface extends java.rmi.Remote 
{ 
     public java.util.Date getDate() throws java.rmi.RemoteException; 
} 

import java.rmi.*; 
import java.rmi.server.UnicastRemoteObject; 

public class myRMIImpl extends UnicastRemoteObject implements myRMIInterface 
{ 
     public myRMIImpl(String name) throws RemoteException 
       { 
       super(); 
       try 
         { 
         Naming.rebind(name, this); 
         } 
       catch(Exception e) 
         { 
         System.out.println("Exception occurred: " + e); 
         } 
       } 
     public java.util.Date getDate() 
       { 
       return new java.util.Date(); 
       } 
} 

出力

Exception occurred: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve) 

どのように私はこの問題を解決するのですか?

答えて

1

必要な権限を付与する.policyファイルを定義し、java.security.policy引数に名前を付けます。

セキュリティマネージャを削除するか、これは、RMIコードベース機能を使用している場合にのみ必要です。

関連する問題