Entao, como q eu faco para localizar um EJB (Entity, no caso) q esta em outra maquina?! Eu criei um cliente de teste com o lomboz, e alterei soh o provider_url para jnp://ipdamaquina:1099
mas nao deu certo. Da uma excenao de nomes (namingexception), ah, e tbm diz q a conexao foi recusada para o host 127.0.0.1
o q fazer?!? Ah, outra coisa, tem como instanciar um EJB sem falar a maquina q ele ta, apenas pelo nome?!?!
Eh isso mesmo… mas vc tem q especificar o IP da maquina onde estao os EJBs, e isso fere o conceito de transparencia de localizacao q um sistema distribuido deve ter. Mas consegui contornar esse problema, utilizei um negocio chamado HA-JNDI q tem no JBoss… eh muito fera!
Olá, configurei um cluster jboss… já está funcionando distribuição automática da aplicação entre os nós, etc.
Só não consegui fazer funcionar o HA-JNDI. Segundo o manual do JBOSS 4.0.4, no cliente é necessário informar no arquivo ‘jndi.properties’ os host:port dos nos onde o HA-JNDI está rodando. Fiz isso, mas o client recebe:
javax.naming.CommunicationException: Could not obtain connection to any of these urls: 10.4.3.222:1100,10.4.3.223:1100 and discovery failed with error: javax.naming.CommunicationException: Failed to retrieve stub from server 10.4.3.222:1100 [Root exception is java.io.StreamCorruptedException: unexpected block data] [Root exception is javax.naming.CommunicationException: Failed to retrieve stub from server 10.4.3.223:1100 [Root exception is java.io.StreamCorruptedException: unexpected block data]]
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1414)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:594)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(InitialContext.java:351)