| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 22:24:56
|
fenixsp
What is classpath?
Membro desde: 31/05/2010 22:18:00
Mensagens: 5
Offline
|
Comunidade,
Estou estudando EJB 3.0 e não consigo executar o "simples" programa para um stateless session bean. Abaixo as classes juntamente com o erro quando executo o cliente. Vocês poderiam me ajudar?
===============
package fontes;
import javax.ejb.Remote;
@Remote
public interface HelloWorldLocal {
public String hello();
}
==================
package fontes;
import javax.ejb.Stateless;
/**
* Session Bean implementation class HelloWorld
*
*/
@Stateless
public class HelloWorld implements HelloWorldLocal {
/**
* Default constructor.
*/
public HelloWorld() {
// TODO Auto-generated constructor stub
}
@Override
public String hello() {
System.out.println("Primeiro EJB Funcionando");
return "Hello, World!";
}
}
================
package fontes;
import javax.naming.*;
public class HelloClient {
/**
* @param args
* @throws NamingException
*/
public static void main(String[] args) throws NamingException {
// TODO Auto-generated method stub
try {
Context ctx = new InitialContext();
HelloWorldLocal hello = (HelloWorldLocal) ctx.lookup("fontes.HelloWorldLocal");
System.out.println(hello.hello());
}catch (NamingException ex) {
ex.printStackTrace();
}
}
}
==============
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
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at fontes.HelloClient.main(HelloClient.java:15)
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 03:30:17
|
luan03
Entusiasta Java
![[Avatar]](/images/avatar/2284948a73dbd52268b415226ccf60bf.jpg)
Membro desde: 29/10/2009 01:51:33
Mensagens: 19
Offline
|
Pede ajuda para o SENSATO uhauhauhauhauh!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 07:17:16
|
maior_abandonado
JWizard
![[Avatar]](/images/avatar/0d7c463832b871c20405a6c9296b5517.jpg)
Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline
|
seu cliente do ejb precisa das propriedades do innitialContext
eu também não manjo muito de ejb, mais pelo que eu aprendi, você deve criar o innitialContext passando um properties, ou map (não lembro direito se pode ser map)com as configurações:
se você tiver usando o JBOSS na sua própria maquina acho que ficaria alguma coisa +- assim:
e outra coisa, coloque seus códigos entre as tags code
This message was edited 1 time. Last update was at 01/06/2010 07:17:50
|
espero ter ajudado...
falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 09:45:51
|
fenixsp
What is classpath?
Membro desde: 31/05/2010 22:18:00
Mensagens: 5
Offline
|
Funcionou cara.
Obrigado
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 13:22:12
|
warley
Java Ninja
![[Avatar]](/images/avatar/868b7df964b1af24c8c0a9e43a330c6a.png)
Membro desde: 16/03/2004 18:46:25
Mensagens: 266
Localização: Vitória - ES
Offline
|
Amigão,
Vc pode usar a anotação @EJB para fazer o lookup e não ter q escrever este monte de código :
Properties env = new Properties();
env.put(Context.SECURITY_PRINCIPAL, "guest" );
env.put(Context.SECURITY_CREDENTIALS, "guest" );
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
Este monte de código fica uma bagunça!
Abraço.
|
Ninguém é tão grande que não possa aprender, nem tão pequeno que não possa ensinar
Já me perguntaram: "O porquê que tem que ser em Java?"
Eu respondi: "Por quê não pode ser?"
- SCWCD 1.4
- SCJP 5.0
- SCJA 1.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 15:58:25
|
fenixsp
What is classpath?
Membro desde: 31/05/2010 22:18:00
Mensagens: 5
Offline
|
cara.. valeu pela dica... mas não consegui rodar.. como ficaria meu código?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 16:16:01
|
Sefo
JavaChild
![[Avatar]](/images/avatar/359499f804ea7988921bf86c9377fb95.jpg)
Membro desde: 18/08/2006 10:02:28
Mensagens: 102
Offline
|
Qual erro que tá acusando?
Só um palpite:
acredito que o lookup correto seria dessa forma:
|
NY GIANTS!!!!
WAR BIG BLUES!!!!
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 16:37:43
|
fenixsp
What is classpath?
Membro desde: 31/05/2010 22:18:00
Mensagens: 5
Offline
|
public static void main(String[] args) throws NamingException {
/*Properties env = new Properties();
env.put(Context.SECURITY_PRINCIPAL, "guest" );
env.put(Context.SECURITY_CREDENTIALS, "guest" );
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
env.put(Context.PROVIDER_URL, "jnp://localhost:1099");*/
try {
//Context ctx = new InitialContext(env);
Context ctx = new InitialContext();
HelloWorldLocal hello = (HelloWorldLocal) ctx.lookup("HelloWorldLocal/remote");
System.out.println(hello.hello());
}catch (NamingException ex) {
ex.printStackTrace();
}
}
===============
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
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at fontes.HelloClient.main(HelloClient.java:31)
|
| Nome do arquivo |
erroNaming.JPG |
Download
|
| Descrição |
|
| Tamanho |
78 Kbytes
|
| Baixado: |
38 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 17:36:54
|
Sefo
JavaChild
![[Avatar]](/images/avatar/359499f804ea7988921bf86c9377fb95.jpg)
Membro desde: 18/08/2006 10:02:28
Mensagens: 102
Offline
|
Tente assim:
Se der errado, favor colocar o erro, se der certo não esqueça do RESOLVIDO no titulo do topico, ok?
|
NY GIANTS!!!!
WAR BIG BLUES!!!!
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 18:08:02
|
fenixsp
What is classpath?
Membro desde: 31/05/2010 22:18:00
Mensagens: 5
Offline
|
Cara... desse forma funciona..
Eu voltei a postar pelo fato de terem me dito em post posterior... Quero saber como utilizar o @EJB
Vc pode usar a anotação @EJB para fazer o lookup e não ter q escrever este monte de código :
Properties env = new Properties();
env.put(Context.SECURITY_PRINCIPAL, "guest" );
env.put(Context.SECURITY_CREDENTIALS, "guest" );
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
Este monte de código fica uma bagunça!
Abraço
Não consegui rodar utilizando annotation @EJB
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2010 18:22:13
|
Sefo
JavaChild
![[Avatar]](/images/avatar/359499f804ea7988921bf86c9377fb95.jpg)
Membro desde: 18/08/2006 10:02:28
Mensagens: 102
Offline
|
.
This message was edited 2 times. Last update was at 02/06/2010 07:59:35
|
NY GIANTS!!!!
WAR BIG BLUES!!!!
 |
|
|
 |
|
|