Galera eu sou novo em J2EE e estava querendo fazer um simples exemplo usando EJB, instalei tudo… estou usando o netbeans como IDE…
no meu exemplo eu tenho 4 projetos:
-ejb
-war
Uma java lib com a interface remote do bean
e um projeto java normal pra fazer um simples teste
o projeto -war eu não faço nada nele…
no projeto de teste eu incluo a referencia da lib que contem a interface remote
ai ficou assim
Iterface remote
package br.com.danilo.protecaoconsumidor.consumidor;
import javax.ejb.Remote;
/**
*
* @author Danilo
*/
@Remote
public interface ConsumidorBeanRemote {
public void sendMailTo(String to);
}
Implementação no EJB
package br.com.danilo.protecaoconsumidor.consumidor;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Stateless;
/**
*
* @author Danilo
*/
@Stateless
public class ConsumidorBean implements ConsumidorBeanRemote {
//Metodos do Cliclo de vida
@PostConstruct
public void initalize(){
System.out.println("Inializado o bean");
}
@PreDestroy
public void exit(){
System.out.println("destruido o bean");
}
//Metodos da interface Remote
@Override
public void sendMailTo(String to) {
System.out.println("Email enviado para " + to + " com sucesso" );
}
}
Feito o deploy, meu EJB ja foi listado no admin do servidor
então fui pro client de teste
package teste;
import br.com.danilo.protecaoconsumidor.consumidor.ConsumidorBeanRemote;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Teste {
public static void main(String[] args) throws ClassNotFoundException {
Teste t = new Teste();
t.connect("ConsumidorBean/remote");
}
public void connect(String jndi){
try {
InitialContext ic = new InitialContext();
Object obj = ic.lookup(jndi);
ConsumidorBeanRemote remote = (ConsumidorBeanRemote)obj;
} catch (NamingException e) {
e.printStackTrace();
}
}
}
so que eu tenho o seguinte erro,
Exception in thread “main” java.lang.ClassCastException: javax.naming.Reference cannot be cast to br.com.danilo.protecaoconsumidor.consumidor.ConsumidorBeanRemote
eu ja procurei isso na internet… peguei exemplos e não vi nada de diferente… eu simplesmente não consigo converter o objeto