Problema con EJB 3.0
Hola amigos
Soy nueva en esto de ejb 3.0 y estoy tratando de conectarme a un ejb session 3.0 desde una aplicacion awt, pero no encuentro la forma, agredeceria que me pudieran ayudar... aqui les envio el codigo y como lo he intentado conectar
*****Remote*****
package prueba;
import javax.ejb.Remote;
@Remote
public interface pruebaRemote {
public String metodo(String arg);
}
****Stateless*****
package prueba;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Remote
@Stateless
public class PruebaBean implements pruebaLocal, pruebaRemote {
@PersistenceContext
EntityManager em;
public static final String RemoteJNDIName = PruebaBean.class.getSimpleName() + "/remote";
public static final String LocalJNDIName = PruebaBean.class.getSimpleName() + "/local";
@TransactionAttribute()
public String metodo(String arg) {
// TODO Auto-generated method stub
return arg;
}
}
************El cliente****************
class metodo{
@EJB
pruebaRemote beanRemote;
public metodo(){
System.out.println(beanRemote.metodo("Esto es una prueba"));
}
}
*******Otra prueba cliente******
public metodo(){
Properties environment = new Properties();
environment.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.client.RemoteInitialContextFactory");
environment.put(Context.PROVIDER_URL, "ejbd://localhost:4201");
try {
InitialContext context = new InitialContext(environment);
System.out.println(context.getEnvironment() +"");
Object o = context.lookup("PruebaBean/Remote");
System.out.println(o.getClass().getName());
} catch (NamingException e) {
e.printStackTrace();
}
}
Y estos son los errores que me salen
*****de la primera forma****
Exception in thread "main" java.lang.NullPointerException
at metodo.<init>(test.java:51)
*******y de la segunda forma*****
{java.naming.provider.url=ejbd://localhost:4201, java.naming.factory.initial=org.apache.openejb.client.RemoteInitialContextFactory}
javax.naming.NameNotFoundException: /PruebaBean/Remote does not exist in the system. Check that the app was successfully deployed.
at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:239)
at javax.naming.InitialContext.lookup(Unknown Source)
at metodo.<init>(test.java:37)
Soy nueva en esto de ejb 3.0 y estoy tratando de conectarme a un ejb session 3.0 desde una aplicacion awt, pero no encuentro la forma, agredeceria que me pudieran ayudar... aqui les envio el codigo y como lo he intentado conectar
*****Remote*****
package prueba;
import javax.ejb.Remote;
@Remote
public interface pruebaRemote {
public String metodo(String arg);
}
****Stateless*****
package prueba;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Remote
@Stateless
public class PruebaBean implements pruebaLocal, pruebaRemote {
@PersistenceContext
EntityManager em;
public static final String RemoteJNDIName = PruebaBean.class.getSimpleName() + "/remote";
public static final String LocalJNDIName = PruebaBean.class.getSimpleName() + "/local";
@TransactionAttribute()
public String metodo(String arg) {
// TODO Auto-generated method stub
return arg;
}
}
************El cliente****************
class metodo{
@EJB
pruebaRemote beanRemote;
public metodo(){
System.out.println(beanRemote.metodo("Esto es una prueba"));
}
}
*******Otra prueba cliente******
public metodo(){
Properties environment = new Properties();
environment.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.client.RemoteInitialContextFactory");
environment.put(Context.PROVIDER_URL, "ejbd://localhost:4201");
try {
InitialContext context = new InitialContext(environment);
System.out.println(context.getEnvironment() +"");
Object o = context.lookup("PruebaBean/Remote");
System.out.println(o.getClass().getName());
} catch (NamingException e) {
e.printStackTrace();
}
}
Y estos son los errores que me salen
*****de la primera forma****
Exception in thread "main" java.lang.NullPointerException
at metodo.<init>(test.java:51)
*******y de la segunda forma*****
{java.naming.provider.url=ejbd://localhost:4201, java.naming.factory.initial=org.apache.openejb.client.RemoteInitialContextFactory}
javax.naming.NameNotFoundException: /PruebaBean/Remote does not exist in the system. Check that the app was successfully deployed.
at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:239)
at javax.naming.InitialContext.lookup(Unknown Source)
at metodo.<init>(test.java:37)