Olá a todos,
depois de muita tentativa (muita mesmo) venho aqui pedir help pra ve se eu consigo fazer esse maldito lookup usando o jboss7.1.1.
Rodei a comunidade jboss no forum e pah segui o que os caras disseram mais até agora nada.
o exemplo é bastante simples:
tenho meu bean “MeuBean” e a interface remota dele (MeuBeanRemote) e também tenho meu cliente “Teste”.
MeuBeanRemote:
package br.com.teste;
import javax.ejb.Remote;
@Remote
public interface MeuBeanRemote {
public String helloWorld();
}
MeuBean:
package br.com.teste;
import javax.ejb.Stateless;
/**
* Session Bean implementation class MeuBean
*/
@Stateless(mappedName="MeuBean")
public class MeuBean implements MeuBeanRemote {
/**
* Default constructor.
*/
public MeuBean() {
// TODO Auto-generated constructor stub
}
public String helloWorld(){
return "Hello World";
}
}
Pego esse cara e ponho em um EAR chamado “testandoejbEAR” e faço deploy no jboss. Até ai blz, o deploy da certo.
O problema é agora na aplicação cliente. Antes eu coloco no build path a referencia do projeto que corresponde o EJB e adiciono o jar do jboss “jboss-client.jar”.
Segue o código fonte:
Teste:
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import br.com.teste.MeuBeanRemote;
public class Teste {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
props.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
props.put(Context.PROVIDER_URL, "remote://localhost:4447");
props.put("jboss.naming.client.ejb.context", true);
props.put(Context.SECURITY_PRINCIPAL, "user");
props.put(Context.SECURITY_CREDENTIALS, "pass");
Context ctx = new InitialContext(props);
MeuBeanRemote meuBean = (MeuBeanRemote) ctx.lookup("MeuBean");
System.out.println(meuBean.helloWorld());
}
}
Não sei mais o que eu faço. Esse mesmo lookup pega no JBoss 6 a unica coisa que muda sao esses parametros de configuração do JBoss, incluindo o Context.SECURITY, este que, nao tem no Jboss 6. Andando por ai vi que no JBoss 7 precisa desse SECURITY, dai eu adicionei um usuario no arquivo add-user.bat só que da erro agora no lookup namenotfoundexception
Exception in thread "main" javax.naming.NameNotFoundException: MeuBean -- service jboss.naming.context.java.jboss.exported.MeuBean
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:178)
at org.jboss.naming.remote.protocol.v1.Protocol$1.handleServerMessage(Protocol.java:127)
at org.jboss.naming.remote.protocol.v1.RemoteNamingServerV1$MessageReciever$1.run(RemoteNamingServerV1.java:73)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Todo tipo de nome eu coloquei no lookup e nada!
Alguem poderia me ajudar, dizendo o que ta errado ou até mesmo disponibilizando um exemplo bastante simplório?
Eu agradeceria muito!