ayuda con llamadas RMI y concurrencia
Publicado por Aitor (13 intervenciones) el 29/12/2009 19:23:44
Hola a todos,
Tengo una duda que se resume en saber si cada llamada desde un cliente a un servidor rmi se hace en un hilo de ejecucion independiente, que segun mis experimentos me parece que no...
bueno tengo este codigo:
while (cont<listaServers.length){ //look for all the client-server and contact them
System.out.println("en el bucle");
if (!requesterClient.getNombre().equals(listaServers[cont])){ //para no conectarnos a nosotros mismos
System.out.println("en el if");
System.out.println("en el if otra vez");
String subServers1=listaServers[cont].substring(3,7);
String subServers2=listaServers[cont].substring(8);
c= RMISL.getServiceClient("127.0.0.1",subServers1,subServers2);
try {
c.requestEntry(requesterClient.getClientID(),requesterTimestamp, requesterClient.getNombre());
System.out.println("despues del rquestttttttttt");
} catch (RemoteException e1) {e1.printStackTrace(); }
}
cont++; //pasamos al siguiente servidor
y lo que quiero es que cada llamada .requestEntry(requesterClient.getClientID(),requesterTimestamp, requesterClient.getNombre()); se ejecute en un hilo independiente, es decir, que haga esa llamada y justo seguido siga con el codigo que veis ahi (es decir, que vuelva a entrar al while) y que la llamada haga su trabajo de forma independiente.
Como lo podria hacer ??
un saludo y gracias.
Tengo una duda que se resume en saber si cada llamada desde un cliente a un servidor rmi se hace en un hilo de ejecucion independiente, que segun mis experimentos me parece que no...
bueno tengo este codigo:
while (cont<listaServers.length){ //look for all the client-server and contact them
System.out.println("en el bucle");
if (!requesterClient.getNombre().equals(listaServers[cont])){ //para no conectarnos a nosotros mismos
System.out.println("en el if");
System.out.println("en el if otra vez");
String subServers1=listaServers[cont].substring(3,7);
String subServers2=listaServers[cont].substring(8);
c= RMISL.getServiceClient("127.0.0.1",subServers1,subServers2);
try {
c.requestEntry(requesterClient.getClientID(),requesterTimestamp, requesterClient.getNombre());
System.out.println("despues del rquestttttttttt");
} catch (RemoteException e1) {e1.printStackTrace(); }
}
cont++; //pasamos al siguiente servidor
y lo que quiero es que cada llamada .requestEntry(requesterClient.getClientID(),requesterTimestamp, requesterClient.getNombre()); se ejecute en un hilo independiente, es decir, que haga esa llamada y justo seguido siga con el codigo que veis ahi (es decir, que vuelva a entrar al while) y que la llamada haga su trabajo de forma independiente.
Como lo podria hacer ??
un saludo y gracias.
Valora esta pregunta


0