Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

rmi, eckel,

0 views
Skip to first unread message

Perfekcik

unread,
May 29, 2004, 10:41:28 PM5/29/04
to
witam

mam problem z przykladem rmi z ksiazki "Thinkging in Java"

przepisalem przyklad ale niestety nie dziala, przy probie uruchomienie
wyrzuca mi:

Exception in thread "main" java.security.AccessControlException: access
denied (java.net.SocketPermission misha resolve)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
...

pozkauje to zarowno klient jak i serwer
rmiregistey jest uruchomiony

Pozdrawiam i dzieki za wszelka pomoc
Perf

klin

unread,
May 30, 2004, 5:43:29 AM5/30/04
to
a masz nadane uprawnienia ?
przykladowy plik by wygladal tak
grant {
permission java.security.AllPermission;
};
(normalnie nie daje sie aplikacji wszystkich uprawinen tylko te ktore sa
naprawde potrzebne, dokladny opis tego mechanizmu w dokumentacji javy)
zapisz jako java.policy (normalnie taki plik jest np w
\j2sdk1.4.2_04\jre\lib\security np i tak moznaby dopisac ale u mnie to
niedzialalo i dlatego zrobilem sobie drugi)
a potem uruchom server i klient z przelacznikiem
java -Djava.security.policy=sciezka/java.policy plik.java
wydaje mi sie ze trzeba tutaj ^^ podac sciezke chyba ze sie to uruchamia
z bierzacego katalogu, ja mialem wszystko w pakiecie to uruchamialem z
zewnatrz i podawalem np ..security.policy=test/java.policy

staralem sie nic nie pomylic po drodze, a jak masz te uprawnienia i nadal
nie dziala to daj znac, ostatnio robilem cos tak z rmi i bylo wszystko ok,
to moze cos sie wymysli jeszcze


Perfekcik

unread,
May 30, 2004, 11:12:40 AM5/30/04
to
klin wrote:
<cut>

nie dziala :(

server:

------
PerfectTimeI.java:

import java.rmi.*;

public interface PerfectTimeI extends Remote {
public int getPerfectTime() throws RemoteException;
}

------
PerfectTime.java:

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

public class PerfectTime extends UnicastRemoteObject implements
PerfectTimeI {
public PerfectTime() throws RemoteException {
;
}

public int getPerfectTime() throws RemoteException {
return 10;//System.currentTimeMillis();
}

public static void main(String[] argv) throws Exception {
System.setSecurityManager(new RMISecurityManager());

PerfectTime pt = new PerfectTime();
Naming.rebind("//misha/test", pt);
System.out.println("Gotowy do podania czasu");
}
}

------
kompilacja:
javac *.java
rmic PerfectTime

----
uruchomienie:
rmiregistry
java -Djava.security.policy=java.policy PerfectTime

------
pada na Naming.rebind("//misha/test", pt):

Exception in thread "main" java.rmi.ServerException: RemoteException
occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments;
nested exception is:
java.lang.ClassNotFoundException: PerfectTime_Stub


Pozdrawiam
Perf

Artur Karazniewicz

unread,
May 30, 2004, 12:33:56 PM5/30/04
to
Perfekcik wrote:

> Exception in thread "main" java.rmi.ServerException: RemoteException
> occurred in server thread; nested exception is:
> java.rmi.UnmarshalException: error unmarshalling arguments;
> nested exception is:
> java.lang.ClassNotFoundException: PerfectTime_Stub

rmiregistry musi wiedzie? gdzie znale?? stuba. Zanim uruchomisz
rmiregistry upewnij si?, ?e *_Stub jest dost?pny na $CLASSPATH.

Artur

Perfekcik

unread,
May 30, 2004, 2:50:56 PM5/30/04
to
Artur Karazniewicz wrote:

> Perfekcik wrote:
>
> rmiregistry musi wiedzie? gdzie znale?? stuba. Zanim uruchomisz
> rmiregistry upewnij si?, ?e *_Stub jest dost?pny na $CLASSPATH.
dzieki, dziala :)

> Artur
Pozdrawiam
Perf

0 new messages