Pessoal,
Estou precisando da ajuda de vocês para a seguinte situação:
Servidor 1: JBoss 6.0 com meus EJB’s
Servidor 2: JBoss 6.0 com minha camada de apresentação
Não estou conseguindo configurar o JBoss do servidor 1 para consumir os EJB’s que estão no Servidor 2, o arquivo jndi.properties está configurado da seguinte forma:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://10.100.0.107:1099 (este é o servidor 2)
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
Recebo o seguinte erro:
[DefaultJndiBinder] Unable to create JNDI subcontext for Bean Validation Factories: javax.naming.NameAlreadyBoundException; remaining name ‘BeanValidatorFactories’
Segue abaixo o código que fica no servidor 1 (EJB):
@Singleton
@LocalBean
public class HelloEJB implements HelloEJBRemote {
@Override
public String sayHello() {
return "Hello World Remote";
}
}[/code]
[code]@Remote
public interface HelloEJBRemote {
public String sayHello();
}
Agora o código que fica no servidor 2, tenho aqui um JAR com a interface remota (HelloEJBRemote):
[code]@ManagedBean
@RequestScoped
public class HelloMB {
@EJB(lookup=“HelloEAR/HelloEJB/remote”)
private HelloEJBRemote helloRemote;
public String getSayLocal() {
return "Hello World Local";
}
public String getSayRemote() {
return helloRemote.sayHello();
}
}
[/code]
Se eu coloco tudo em um único servidor funciona perfeitamente, o problema está quando coloco em servidores separados, o JBoss nem chega a iniciar, por isso acredito que seja problema de configuração dele, e não de código.
Já pesquisei bastante na internet como fazer esta configuração e não consegui encontrar nada consistente, se alguém puder ajudar eu ficaria muito agradecido.
Obrigado.