Jboss 4.0.1 NOT BOUND ! SERÁ UM BUG DE VERSÃO?

1 resposta
R

Pessoal,

Estou utilizando o JBOSS 4.0.1 e estou tentando publicar uma simples aplicação HelloWorld utilziando ejb, porém não consigo de forma alguma fazer o lookup do ejb, apresenta a mensagem de not bound

Será que essa versão tem algum BUG não documentado!

Esclareço que o problemas básicos eu já verifiquei esses :

  • A versão da aplicação está compilada corretamente

  • O Log do JBOSS não apresenta nenhuma mensagem, nem mesmo relacionada a aplicação HelloWorld

  • Verifiquei os nomes em todos os arquivos xml de configuração do ejb

  • Tente fazer o lookup com as seguintes entradas e nehuma funcionou :

    Object objref = initial.lookup("ejb/HelloWorld"); 
    
     Object objref = initial.lookup("java:comp/env/ejb/HelloWorld"); 
    
     Object objref = initial.lookup("java/comp/env/ejb/HelloWorld"); 
    
     Object objref = initial.lookup("HelloWorld");
    

segue abaixo o trecho de código e as configurações de arquivos XML

JSP

[%@ page language=“java” %]

[%@ page import=“javax.naming.<em>" %]

[%@ page import="java.util.</em>” %]

[%@ page import=“javax.rmi.PortableRemoteObject” %]

[%@ page import=“com.*” %]

[%

try {

out.println(“binicio do processamento da pagina/b”);

out.println(“br”);

out.println(“br”);

Context initial = new InitialContext();

Object objref = initial.lookup(“ejb/HelloWorld”);

HelloWorldHome home = (HelloWorldHome) PortableRemoteObject.narrow(objref, HelloWorldHome.class);

HelloWorld remote = home.create();

out.println(“b”);

out.println(remote.helloWorld());

out.println("/b");

out.println(“br”);

out.println(“br”);

out.println(“bfim do processamento da pagina/b”);

}

catch (Exception e) {

out.println(e.getMessage());

}

%]

jboss-web.xml

[ejb-ref]
[ejb-ref-name]ejb/HelloWorld[/ejb-ref-name]
[jndi-name]ejb/HelloWorld[/jndi-name]
[/ejb-ref]

jboss.xml

[enterprise-beans]

[session] 
  [ejb-name]HelloWorld[/ejb-name] 
  [jndi-name]ejb/HelloWorld[/jndi-name] 
[/session]

[/enterprise-beans]

ejb-jar.xml

[description]Hello World, o meu primeiro EJB!!![/description]
[display-name]HelloWorld[/display-name]

[enterprise-beans] 

   [session] 
     [ejb-name]HelloWorld[/ejb-name] 
     [home]com.HelloWorldHome[/home] 
     [remote]com.HelloWorld[/remote] 
     [ejb-class]com.HelloWorldBean[/ejb-class] 
     [session-type]Stateless[/session-type] 
     [transaction-type]Container[/transaction-type] 
   [/session] 

  [/enterprise-beans]

1 Resposta

D

Bom, tenta ver no jmx-console (http://localhost:8080/jmx-console) se tem lá algum EJB com o nome HelloWorld, e depois veja o nome jndi dado a ele…

Eu geralmente faço lookup assim:

InitialContext ctx = new InitialContext&#40;&#41;;

HelloWorldRemoteHome home = &#40;HelloWorldLocalHome&#41; ctx.lookup&#40;nomeJndi&#41;;
HelloWorldRemote remote =  home.create&#40;&#41;;
Criado 16 de junho de 2005
Ultima resposta 16 de jun. de 2005
Respostas 1
Participantes 2