EJBs sobre jboss

jgomezm4
23 de Noviembre del 2005
Hola a todos, os cuento...
quiero realizar un proyecto donde incluir EJBs locales
con relaciones entre ellos, pero me encuentro ante el problema de que no los puedo crear. Utilizo jboss como AS y mysql como BBDD. Todo integrado con JBuilder. Creo un modulo de EJBs donde incluyo los Entity, lo desplego correctamente con JBoss. El problema viene al crear el EJB dentro de una aplicacion de testeo de prueba. Cuando realizo lo siguiente:

Context context = new InitialContext();

llamadadLH =
(llamadasLocalHome)PortableRemoteObject.narrow(context.lookup("llamadasLocal"), llamadasLocalHome.class);

me lanza la siguiente excepcion:

java.lang.NullPointerException
at
org.jboss.ejb.plugins.local.LocalHomeProxy.invok(LocalHomeProxy.java:110)
at $Proxy0.create(Unknown Source)
at examp.Frame1.<init>(Frame1.java:55)
at examp.ejbent.<init>(ejbent.java:11)
at examp.ejbent.main(ejbent:java:40)

Si en lugar de utilizar RMI utilizo un cast directamente, tambien me lanza
la misma excepcion.

He probado ha crear el EJB con interfaz remota en lugar de local, y en ese caso si que me lo crea y me inserta los datos en la BBDD, asi como me encuentra los creado mediante los metodos buscadores.Por lo que supongo es algode configuracion de jboss para EJBs locales...

La verdad es que estoy muy perdido y cualquier idea seria de gran ayuda.

Un saludo a todos!

Kronus
23 de Noviembre del 2005
Primeramente, como fallo veia que usabas una llamada RMI con el narrow, y puesto que usas EJB´s locales es innecesario, pero dices que tambien lo has probado sin RMI, por lo que no le veo problemas.
No lo especificas, pero supongo que habrás definido las propiedades del InitialContext de una forma parecida a esta:

import java.util.Properties;

Properties properties = new Properties();

properties.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");

//Mira que el puerto utilizado es el que usa Jboss.

properties.put(Context.PROVIDER_URL, "localhost:1099");

en cuanto a la llamada que produce la excepción, deberia quedar de la forma:

InitialContext context = new InitialContext();

Object ref = context.lookup("llamadasLocal");

llamadadLH = (llamadasLocalHome)ref;


He probado un ejemplo parecido, y no me crea problemas. Siento no serle de mas ayuda.

Un saludo.