Rmi

1 resposta
F

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;

}	

}

1 Resposta

ozielneto

Ae…

De uma olhada nesse tutorial…

http://developer.java.sun.com/developer/onlineTraining/rmi/

[]'s

Criado 8 de setembro de 2003
Ultima resposta 8 de set. de 2003
Respostas 1
Participantes 2