Pessoal,
estou fazendo uma aplicação RMI que retorna uma String de caratceres, tudo está funcionando corretamente : o serviço RMI foi inicializado(RMIregistry) corretamente, o objeto a ser servido tb foi inicilizado corretamente, e o meu cliente faz acesso a este objeto tranquilamente tb , o problema é que qd vou fazer um segundo acesso a este mesmo objeto, ou seja executar a aplicação pela segunda vez, o meu objeto a ser servido trava toda a aplicação …alguém pode me dizer qual é o problema que realmente está acontecendo ???
Código do Objeto a ser servido :
// Copyright © 2000 user
package ServicoRemoto;
import java.rmi.<em>;
import java.rmi.server.</em>;
import java.rmi.server.UnicastRemoteObject;
import <a href="http://java.net">java.net</a>.<em>;
import java.lang.Thread;
import <a href="http://java.io">java.io</a>.</em>;
import <a href="http://java.net">java.net</a>.<em>;
import java.util.Properties;
import java.lang.</em>;
import ServicoRemoto.*;
/**
- A Class class.
- <P>
-
@author user
*/
public class MetodosServer extends UnicastRemoteObject implements MetodosRemote
{
/**
- Constructor
*/
public int chars_read = 0;
public int size;
public String Buffer;
public MetodosServer() throws RemoteException
{
super();
}
public String getFile(String Arq) throws RemoteException
{
Buffer = “”;
try
{
File fi = new File(“C:\script_documento.txt”);
size = (int)fi.length();
FileReader in = new FileReader(fi);
char[] data = new char[size];
int i=0;
while(in.ready())
{
chars_read += in.read(data, chars_read, size - chars_read);
}
Buffer = new String(data);
in.close();
}
catch(Exception e)
{
System.out.println(e);
}
return Buffer;
}
public Boolean setFile(String Arq) throws RemoteException
{
return null;
}
public static void main(String[] args)
{
// definir security manager
// System.setProperty(“java.rmi.server.codebase”,
// “<a href="http://httpserver:10002/">http://httpserver:10002/</a>”);
try
{
/* if (System.getSecurityManager() == null)
{
System.setSecurityManager(new RMISecurityManager());
}*/
//String S;
//Properties env=System.getProperties();
//env.put("java.rmi.server.codebase","\\ipr0cobra005\c\Java");
MetodosServer ms = new MetodosServer();
System.out.println("Ola mundo");
/*try
{
RMIClassLoader.loadClass("c:\Java","MetodosServer_Stub.class");
}
catch(ClassNotFoundException e)
{
}*/
//String codebase;
//codebase=System.getProperty("java.rmi.server.codebase");
//System.out.println(codebase);
Naming.rebind("ObjetoRemoto",ms);
System.out.println("Ola mundo");
}
catch (MalformedURLException e)
{
}
catch (RemoteException e)
{
System.out.println(e);
}
}
public String getNome()
{
return “bandoleiro”;
}
}