Jee cast de um session bean

6 respostas
jherimum

mestres do JEE,
me ajudem

Estou criando um Stateless Session Ben Muito simples

@Local
public interface Teste {
	
	Long getNumber();
}
@Stateless(name = "Teste")
public class TesteBean implements Teste {

      public TesteBean() {
        // TODO Auto-generated constructor stub
    }
   

    public Long getNumber() {
    	return  1l;
    }
 }
estou tentando acessar esse ejb pelo spring que esta dentro de um war da seguinte forma:
<jee:jndi-lookup id="testeBean" jndi-name="app/Teste" expected-type="Teste">
	</jee:jndi-lookup>

na hora que o spring tenta injetar o ejb em alguma classe recebo o seguinte erro:

Object of type [class org.jnp.interfaces.NamingContext] available at JNDI location [app/Teste] is not assignable to [Teste]

eu nao sei q raios esta acontecendo.
alguem pode me ajudar?
obrigado

6 Respostas

J

Como vc estah injetando o SLSB?

Com Spring 2.5, vc pode usar no arquivo de configuracao:

<jee:local-slsb id=“teste” jndi-name=“app/Teste” business-interface=“Teste”/>

jherimum

julio, a situacao mudou agora

criei no spring o bean

<jee:local-slsb id="testeBean" jndi-name="sicat2/Teste" business-interface="br.com.cesan.sicat2.Teste">
	
	</jee:local-slsb>

e o erro a gora é:

Caused by: java.lang.NoSuchMethodException: org.jnp.interfaces.NamingContext.getNumber()

ta parecendo que o spring nao ta conseguindo fazer o cast de org.jnp.interfaces.NamingContext pata a minha interface de negocio!

eu ja tentei de tudo um pouco

ve se vc tem uma outra ideia ae.

brigadao

J

Qual servidor vc estah usando? O Bean estah instalado nesse mesmo servidor?

jherimum

to usando o jboss 4.2.3

eu tenho um ear com dois modulos

um jar com meu session bean (implementacao e interface);
e um war onde uso struts e uso o spring para injetar os ejbs

jherimum

no meu ear eu so tenho o arquivo application.xml descrevendo meus modulos.
é preciso criar o jboss-app.xml?

da mesma forma pra aplicação web preciso criar um jboss-web.xml?

jherimum

julio, resolvi o problema

verifiquei na arvore jndi que o nome do session bean tava app/testeService/local

nao tinah percebi q esxistia esse local.

esse é um comportamento comum de todos os servidores jee?
obrigado pela força

Criado 20 de novembro de 2008
Ultima resposta 20 de nov. de 2008
Respostas 6
Participantes 2