Dúvida Jboss 4.0.5+ejb3

To començando a apredener aqui a mecher no jboss e a fazer ejb

Quanto executo um ejb da o seguinte pau:

[java] Exception in thread “main” javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
[java] at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
[java] at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
[java] at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
[java] at javax.naming.InitialContext.lookup(InitialContext.java:351)
[java] at ejb.MyFirstEJB.main(MyFirstEJB.java:9)
[java] Java Result: 1

pelo q vi tenho q configurar em algum lugar o ejb pra o InitalContext buscar a instancia correta??Certo???alguem saberia me falar qual arquivo devo fazer isso???e se tiver algum exemplo ja ajuda valeww

O que você está fazendo para ‘executar’ um EJB?
É impressão minha ou cê tem um ‘public static void main’ no EJB?

nao eh impressao sua nao…esse ejb eh so pra teste mesmo to seguindo tutorial do proprio jboss…e la eles usam um o main…

Dentro do EJB? Nunca vi.
Tem o link pra esse tutorial aí?

De qualquer forma, baixa o ‘Mastering EJB 3º ed’ lá tem uns exemplos bem didáticos.

http://docs.jboss.org/ejb3/app-server/tutorial/
esse eh o link da uma olhada lá…

valew pela dica…qualquer coisa posta ai falow…

Bem, se criou os EJBs como lá, seu problema está no lookup da classe client.
Se você estiver rodando isso no Eclipse, adiciona ao projeto, as libs do JBOSS_HOME\client e JBOSS_HOME\server\default\deploy\ejb3.deployer.
Na verdade são só algumas, mas se não tiver saco de ficar caçando uma por uma, adiciona tudo de uma vez e vê se num dá conflito.
Caso não esteja usando o Eclipse ou outra IDE do tipo, adiciona as libs necessárias no classpath

Pelo jeito precisa configurar o jndi.properties. Crie um arquivo com este nome na raiz do seu src dir:

JBossNS properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Isso vai indicar para api JNDI qual o tipo e local do servidor.

Hoje terá um mini-curso gratuito na Globalcode sobre EJBs e estarei mostrando exatamente isso…

Atenciosamente,
Vinicius Senger