take it easy man!

veja bem a diferenca entre
java -Djava.rmi.server.codebase="http://localhost:8080/mysrc/HelloImpl"

e

java -Djava.rmi.server.codebase=http://localhost:8080/mysrc/ HelloImpl

embora a barra seja obrigatoria no final do codebase (sei la se eu coloquei
isso no meu exemplo), voce NAO pode deixar o nome da classe como parte da
propriedade, que eh o que ocorre no caso 1.

Alem disso, eu disse pro cara usar o applet viewer para testar localmente,
isso significa que NAO eh necessario o uso de um webserver.

Veja bem, estamos transformando um problema simples em discussao, se a
propriedade codebase nao estiver setada, vai acontecer o que ja foi sitado
por nos dois, rmiregistry vai querer o stub do objeto remoto quando voce
fizer um bind nele, e nao achando vai dar erro.

Quando ao pdf, acho uma boa coisa voce disponibilizar em algum lugar que a
lista possa acessar (embora eu mesmo ja tenha), mas qualquer um que entrar
em http://java.sun.com/products/jdk/rmi/, vai encontrar um monte de
informacoes, inclusive a especificacao que fornece os detalhes da coisa.


-----Original Message-----
From: Luis Fernando [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, March 22, 2000 1:53 AM
To: [EMAIL PROTECTED]
Subject: RE: [SouJava-J] Problemas com RMI




Meu caro,

Agradeco pelos comentarios, mas o motivo de eu ter dado esse exemplo,
foi pelo fato de jah ter executado o problema assim e TER FUNCIONADO.
Falando em erro, sua opcao para fazer o acesso localmente eh totalmente
impossivel, pois se trata de uma Applet que NAO PODE SE COMUNICAR AO NAO SER
COM O SERVIDOR QUE A ORIGINOU.O uso do jswdk eh indispensavel nesse caso.
A sintaxe no comando que voce diz nao citar a classe a ser ivocada, cita
claramente o arquivo HelloImpl.class NAO?!?!
java -Djava.rmi.server.codebase="http://localhost:8080/mysrc/HelloImpl"<-

Que por sinal foi tirada do tutorial de rmi da sun que segue abaixo:

"The following command shows how to start the HelloImpl server, specifying
this property:

java –Djava.rmi.server.codebase=http://myhost/~myusrname/codebase/
examples.hello.HelloImpl &
Note – The trailing / in the codebase URL must be specified.
A stub class is dynamically loaded into a client’s virtual machine only when
the class is not already available locally."

  Ao que me parece ao localizar a classe no servidor HelloImpl,
automaticamente procura pelo stub no mesmo diretorio, que tambem eh
encontrado(desde que esteja lah, of course).

  Tutorial esse que tenho em pdf e terei prazer em enviar a lista se for de
interesse de todos.

Later,

Luis Fernando.



>
>Pessoal, estamos confundindo uma coisa basica...
>a linha de comando:
>
>java -Djava.rmi.server.codebase="http://localhost:8080/mysrc/HelloImpl
>
>E que estah TOTALMENTE ERRADA!
>
>O erro que o nosso amigo esta tendo eh no momento de executar o objeto
>servidor, isto se da por que o rmiregistry nao consegue localizar o stub, e
>isso ocorre por que a propriedade java.rmi.server.codebase esta totalmente
>errada, alem disso, a sintaxe do comando nem sequer indica a classe a ser
>invocada. Por isso, como ja disso no meu primeiro e-mail sobre o assunto,
>ai
>vai a resposta para ESTE problema (voce provavelmente vai ter outros depois
>de resolver este)
>
>java -Djava.rmi.server.codebase=file:///c:/mysrc HelloImpl
>
>A propriedade esta setada para o seu diretorio c:\mysrc. Isso indica que os
>arquivos de classes, inclusive os stubs devem estar neste diretorio.
>O uso de file:/// eh feito visto que voce nao esta usando nenhum servidor
>web. Isso significa que se voce rodar um aplicacao cliente nesta mesma
>maquina, ela vai funcionar.

Nao, Nao vai. O acesso eh feito por uma Applet.Tem que ser remoto.

>Se voce criar um jar com uma aplicacao cliente
>que inclua o stub e rodar de outra maquina, ela vai funcionar. CONTUDO, se
>voce tentar rodar uma aplicacao cliente em uma maquina que NAO CONTENHA O
>STUB NO CLASSPATH, NAO VAI FUNCIONAR.
>Isso acontece por que o download dinamico do stub necessita do protocolo
>http, ou pelo menos uma parte dele, por isso voce deveria usar um servidor
>web.
>
>Caso voce consiga um servidor web (tem varios disponiveis por ai de graca),
>voce devera mudar a propriedade java.rmi.server.codebase para algo tipo:
>java.rmi.server.codebase=http://127.0.0.1:8080/mysrc.
>
>Voce devera substituir o endereco, a porta e o diretorio pelos que
>estiverem
>sendo usados por voce.
>
>Abraco, boa sorte, e se tiver mais duvidas, mande outro e-mail bem
>detalhado!
>
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------


    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a