Duvidas RMI

0 respostas
A

Ola pessoal sou novo no fórum e sou meio leigo em java então desculpem se não me expressar bem.

Mas vamos la.

tenho algumas dúvidas com relação ao RMI:

  1. Melhor arquitetura para obter paralelismo em um servidor que esteja exportando suas interfaces por RMI (Material pra pesquisa já é de grande ajuda)

  2. Estou tendo um erro que ja ta me deixando doido.
    estou desenvolvendo uma aplicação Server/client e quando faço os testes no localhost dá tudo certo,
    mas se tento executar o cliente em uma máquina normal dá erro.
    vou detalhar:
    Esse é o código que exporta os objetos no Servidor e aparentemente esta funcionando perfeitamente;

log.info("Exportando...");
Servidor stub = (Servidor) UnicastRemoteObject.exportObject(this, 0);
ServidorDAO stub2 = (ServidorDAO) UnicastRemoteObject.exportObject(new ServerDAO(), 0);
// Liga o stub do objeto remoto no registro, e inicia o RMIRegistry
// na porta 1234
log.info("Criando Registro...");
Registry registry = LocateRegistry.createRegistry(1234);
// Dá um nome pra ele no registro
log.info("Nomeando Registro Registro...");
registry.bind("rmi://10.1.1.6:1234/Servidor", stub);
registry.bind("rmi://10.1.1.6:1234/ServidorDAO", stub2);
log.fine("Servidor iniciado");
System.out.println("Servidor iniciado");

esse é o código do cliente e ele funciona também em localhost ou outra máquina qualquer

if (System.getSecurityManager() == null) {
			RMISecurityManager sm = new RMISecurityManager();
			System.setSecurityManager(sm);
		}

		try {
			log.info("Resgistrando 10.1.1.6:1234);
			registry = LocateRegistry.getRegistry(10.1.1.6, 1234);
			stub = (Servidor) registry.lookup("rmi://10.1.1.6:1234/Servidor");
			stub2 = (ServidorDAO) registry.lookup("rmi://10.1.1.6:1234/ServidorDAO");
			log.fine("Regitro ok");
		} catch (AccessException e) {
			log.severe("" + e);
			e.printStackTrace();
		} catch (RemoteException e) {
			log.severe("" + e);
			e.printStackTrace();
		} catch (NotBoundException e) {
			log.severe("" + e);
			e.printStackTrace();
		}

mas agora vem o problema:

boolean aut = stub.Autentica(client);

quando tento executar qualquer método do stub
se estiver em localhost funciona mas se estiver em outra máquina da rede dá o erro - Conexão Recusada para 127.0.0.1.

Se alguem puder me ajudar nessa agradeceria muito.

Criado 10 de novembro de 2008
Respostas 0
Participantes 1