Rmi

2 respostas
gisa_screen

Nao acho o erro!!!!

...Tenho um programa um servidorRMI e um ClienteRMI...tenho a interface q tem o método procura(Integer codigoProduto), tenho a minha classe q implementa a interface.. para armazenar os dados... classe ClienteRMI...procuro assim Naming.lookup("rmi://localhost/produto/procura") instancio
DarBaixaEstoqueService estoque = new DarBaixaEstoqueService();//instancio a classe que cria os cds
 ProcuraProdutoEstoque service = estoque; 
     try {
            	ProdutoEstoque prod = service.procura(5000);
                   if (prod != null) {
                System.out.println("Nome:" + prod.getNome() + " ");
                System.out.println("Fabricante:" + prod.getFabricante() + "  ");
                System.out.println("Grupo:" + prod.getGrupo() + "   ");
                System.out.println("Valor:R$" + prod.getValorCusto() + ",sem juros!  ");
                System.out.println("Valor de Saida:R$" + prod.getValorSaida() + ",sem juros!  ");
           
        	
                    } else {
                    System.out.println("Código do produto não encontrado.");
                }

só que ele não encontra o codigo informado(2000), sendo q existe esse código de produtp... só executa a linha do else informando q o codigo nao existe....porque???? como resolver...ja fiz de tudo...mas nao resolvi...

veja...

// a classe que implementa a interface(meu servidor)

package uni.rmi.servidor.dominio;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.HashMap;
import java.util.Map;


import uni.rmi.servidor.interfaces.ProcuraProdutoEstoque;;


[code]public class DarBaixaEstoqueService extends UnicastRemoteObject implements ProcuraProdutoEstoque {

    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
private Map<Integer, ProdutoEstoque> repositorio = new HashMap<Integer, ProdutoEstoque>();

    public DarBaixaEstoqueService() throws RemoteException {
        ProdutoEstoque pr = new ProdutoEstoque(1000, "core 2 duo E7300", "intel","processador", 150.0,350.0);
        this.repositorio.put(pr.getCodigoProduto(), pr);
        pr = new ProdutoEstoque(2000, " SG243", "seagate","hd", 50.0,150.0);
        this.repositorio.put(pr.getCodigoProduto(), pr);
        pr = new ProdutoEstoque(3000, "W3045", "thermaltake","fonte de energia", 50.0,150.0);
        this.repositorio.put(pr.getCodigoProduto(), pr);
        pr = new ProdutoEstoque(4000, " HD4850", "Sapphire","placa de vídeo", 150.0,400.0);
        this.repositorio.put(pr.getCodigoProduto(), pr);
    }

	public ProdutoEstoque procura(Integer codigoProduto) throws RemoteException {
		try{
		return repositorio.get(codigoProduto);
		}catch(Exception e){
			 System.out.println("código não encontrado.");   
			return null;
		}
	}
}
[/code]

2 Respostas

fredferrao

ProdutoEstoque prod = service.procura(5000);

Ta informando 5000 e nao 2000.

gisa_screen

pois é , mas não foi isso … eu coloquei ´qualquer código e não foi tbm…mas ja deu o que tinha q dar…ja foi resolvido o problema não foi esse…
mas vlw

Criado 1 de maio de 2010
Ultima resposta 4 de mai. de 2010
Respostas 2
Participantes 2