[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Java2のRMI




大塩と申します。
質問ばかりで申し訳ございません。

今までJDK1.1.4でRMIアプリケーションを動かしていて、それをJava2に移行しようと
しています。
で、動かしてみると
Exception in thread "main" java.security.AccessControlException: access
denied (java.net.SocketPermission 127.0.0.1:5825 connect,resolve)
        at java.security.AccessControlContext.checkPermission(Compiled Code)
        at java.security.AccessController.checkPermission(Compiled Code)
        at java.lang.SecurityManager.checkPermission(Compiled Code)
        at java.lang.SecurityManager.checkConnect(SecurityManager.java:1006)
        at java.net.Socket.<init>(Socket.java:258)
        at java.net.Socket.<init>(Socket.java:98)
        at
sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketF
actory.java:29)
        at
sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Compiled Code)
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:462)
        at
sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:194)
        at sun.rmi.transport.tcp.TCPChannel.newConnection(Compiled Code)
        at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
        at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
        at java.rmi.Naming.rebind(Naming.java:165)

というエラーが出てしまいます。
こちらのプログラムからはjava.rmi.Namingに対してrebindしています。

permission関係っぽいので、poplicyの設定が必要なのかと思い、
myPolicy.policy ファイル
Grant{
    permission java.security.AllPermission;
}
を
start rmiregistry -J-Djava.security.policy=myPolicy.policyのフルパス
java -Djava.rim.server.codebase=クラスのパス
で起動しようとしたのですが、やはり上記のエラーが出ます。
ちなみにrmicはjdk1.1.xで行いました。
都合でjava2でrmicをするのが困難な状況です。

何が悪いのかわからない状況なので、どんなことでも教えていただければありがたい
です。
よろしくお願いいたします。

大塩 将幸@FSS