Pessoal, boa tarde!
Tenho uma aplicação rodando no Sun Application Server e nessa aplicação tenho varios EJB’s, tenho tambem outras aplicações rodando no Tomcat e aplicações stand alone. Gostaria de saber se tem uma maneira de chamar os EJB’s que estão no servidor da Sun, atraves de uma outra aplicação que esta no Tomcat ou ate mesmo de uma aplicação stand alone. Como isso deve ser feito???
Aguardo a ajuda de voces…
Obrigado pela atenção…
tem como sim. Eh soh criar um InitialContext e setar os parametros:
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
props.put(Context.PROVIDER_URL, "localhost:1099");
InitialContext ctx = new InitialContext(props);
Dai onde ta localhost:1099 vc poe o endereco da maquina “:” (dois pontos) a porta jndi para fazer o lookup. Depois disso eh soh fazer:
ctx.lookup("nomeJNDIDoEJB");
Dark, aparentemente rolou, mas da esse erro:
ERRO: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory
Preciso importar essa classe???
Procurei em minha maquina e não achei esse classe…
Valeu…
Ta faltando o jar dela no seu classpath. Se vc tiver usando o JBoss é só adicionar o jar jbossall-client.jar no classpath
Opa,
você conseguiu conectar pelo tomcat incluindo a lib jbossall-client.jar que o Darkseid falou? Quanto ao tomcat ele será apenas seu cliente… você precisará de um container j2ee para isto…
:okok:
Eu tenho um container… O Sun App Server onde estão os EJB’s e eu queria acessa-los atraves do Tomcat… Se eu incluir a lib jbossall-client.jar no meu projeto irei acessar pelo Tomcat??? ou tem uma lib do Tomcat pra isso???
Obrigado…
Bem,
Neste caso você tem que pegar a biblioteca cliente do Sun Application Server e colocar na lib do seu projeto. A lib cliente do jboss é para o jboss.
:okok:
Ok Marcos farei isso…
So mais uma pergunta, vc sabe me dizer qual é a biblioteca cliente do Sun???
Dei uma vasculhada na pasta lib mas não vi nada muito intuitivo…
Obrigado…