Bonjour,
s'il vous plait j'ai écrit un code rmi constitué d'une interface qui extends de remote d'une classe qui extends de unicastremoteObject et qui implement cet interface et d'une troisième classe qui fait appel à l'interface distante
ensuite pour compiler en faisant rmic nomclasseimplementantinterface on m'a creer un stub et on a pas créé de skeletons ensuite quand j'excecute ma classe qui fait appelle à ma methode distante on me genere les exceptions suivantes
--------------------Configuration: <Default>--------------------
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
at java.net.Socket.connect(Socket.java:513)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:179)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at DisplayPerfectTime.main(DisplayPerfectTime.java:8)
Process completed.
voici les code de mes differentes classes
import java.rmi.*;
interface PerfectTimeI extends Remote {
long getPerfectTime()throws RemoteException;
}
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
public class PerfectTime
extends UnicastRemoteObject
implements PerfectTimeI {
//Implémentation de l'interface:
public long getPerfectTime()
throws RemoteException {
return System.currentTimeMillis();
}
//Doit implémente le constructeur
//pour émettre RemoteException:
public PerfectTime()throws RemoteException {
//super();//Appelé implicitement
}
//Inscription auprès du service RMI :
public static void main(String [] args){
System.setSecurityManager(
new RMISecurityManager());
try {
PerfectTime pt =new PerfectTime();
Naming.bind(
"PerfectTime",pt);
System.out.println("Ready to do time");
}catch(Exception e){
e.printStackTrace();
}
}
}
import java.rmi.*;
import java.rmi.registry.*;
public class DisplayPerfectTime {
public static void main(String[] args){
System.setSecurityManager(
new RMISecurityManager());
try {
PerfectTimeI t =(PerfectTimeI)Naming.lookup(
"PerfectTime");
for(int i =0;i <10;i++)
System.out.println("Perfect time ="+
t.getPerfectTime());
}catch(Exception e){
e.printStackTrace();
}
}
}
s'il vous plaît dite moi ou se trouve l'erreur
Configuration: Windows XP Internet Explorer 6.0