[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Duvidas no ep1



Oi Emerson,

Você pode resolver este problema simplesmente instalando a classe
org.jboss.invocation.ice.ICEInvokerProxy no cliente, 

O enunciado deo EP1 não deixou clara essa história da distribuição
das classes. Algumas classes devem colocadas num jar que é usado no 
lado cliente. Dê uma olhada no diretório client da distribuição do 
JBoss: nele há arquivos jboss-iiop-client.jar (para clientes IIOP),
jboss-net-client.jar (para clientes .NET/web services), etc. Você 
pode (e deve) criar um jboss-ice-client.jar, que será usado por
clientes ICE. Esse jar conterá, entre outras coisas, a classe 
ICEInvokerProxy.

O ponto importante é que todas as classes nesse jar devem ser 
independentes da aplicação. O mesmo arquivo jboss-ice-client.jar tem 
que servir para qualquer cliente que chame o JBoss através do ICE
invoker.

Reverbel

On Wed, 8 Oct 2003, Emerson Luiz Navarro Tozette wrote:

> 
> 
>      Eu ja consegui implementar o ICEInvoker e o ICEInvokerProxy
>  e tambem consegui implanta-los no servidor, mas quando tento
>  fazer o cliente se comunicar com o servidor recebo uma excecao
>  ClassNotFoundException. 
> 
>      Imagino que isso seja um problema de configuracao do RMI. 
>  Existe uma propriedade do RMI chamada java.rmi.server.codebase
>  que deve ser configurada para apontar para o diretorio onde
>  estao as classes que devem ser transmitidas para o cliente. 
>  Assim imagino que seja apenas um problema de configurar esta
>  propriedade no Jboss (mas eu nao sei fazer isso).
>      
>      Se nao for isso, talvez seja um problema de configuracao
>  do Security Manager do RMI (acho que isto eh configurado utilizando-se
>  a propriedade java.security.policy, que aponta para um arquivo
>  que define permissoes de acesso). 
> 
>      Abaixo segue parte da excecao que eu obtive:
>      
> C:\ep1> ant run.clienteDeMatricula:
> 
> [java] javax.naming.CommunicationException.  Root exception is java.lang.Cl
> assNotFoundException: org.jboss.invocation.ice.ICEInvokerProxy (no security
> manger: RMI class loader disabled)
> [java]     at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:368
> )
> [java]     at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:159
> )
> [java]     at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.jav
> a:631)
> [java]     at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:
> 257)
>  .....
>  
> [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:50
> 7)
> [java]     at javax.naming.InitialContext.lookup(InitialContext.java:347)
> [java]     at
> sma.ep0.clients.ClienteDeMatricula.main(ClienteDeMatricula.java:19)
> 
> 
>  t+
>  
>  
> -- 
>    Emerson Luiz Navarro Tozette   <emr@linux.ime.usp.br>
> 
>  
> Man will never penetrate outer space.
> - Kehlog Albran, August 1942
> 
> Man will never penetrate outer space without a rocket.
> - Kehlog Albran, August 1962
> 
>