Problemas con EJB

Eduardo
18 de Diciembre del 2002
Hola,

estoy comenzando en este mundo de los EJBs y ya tengo mi primer problemilla. A ver si alguien es tan amable de ayudarme. Estoy trabajando con Oracle9i. He comenzado con el tipico ejemplo de iniciación donde hay inicialmente 3 ficheros de código java: la interfaz remota, la interfaz home y la clase bean.

Esto seria la interfaz Remote: (My8iEJB.java)

package server;

import java.rmi.*;
import javax.ejb.*;

public interface My8iEJB extends EJBObject {

public String getFirst8iEJB()
throws RemoteException;
}

Ahora la interfaz Home:

package server;

import java.rmi.*;
import javax.ejb.*;

public interface My8iEJBHome extends EJBHome {

My8iEJB create() throws CreateException, RemoteException;

}

Y por ultimo la clase bean:

package server;

import java.rmi.RemoteException;
import javax.ejb.*;
import java.io.*;

public class My8iEJBClass implements SessionBean {

public String getFirst8iEJB() throws RemoteException
{
String aString = "First EJB Application stored";
return aString;
}

public void ejbCreate () throws RemoteException, CreateException
{
}

public void ejbActivate () throws RemoteException
{
}

public void ejbPassivate () throws RemoteException
{
}

public void ejbRemove () throws RemoteException
{
}

public void setSessionContext (SessionContext ctx) throws RemoteException
{
}

}

Una vez creados los correspondientes ficheros 'class', procedo a crear el fichero jar del siguiente modo:

jar cvf0 My8iEJB.jar *.class

Y luego creo el fichero descriptor con el siguiente contenido: (My8iEJB.ejb)

SessionBean server.My8iEJBClass {

BeanHomeName = "test/My8iEJB";
HomeInterfaceClassName = server.My8iEJBHome;
RemoteInterfaceClassName = server.My8iEJB;
AllowedIdentities = {PUBLIC};
SessionTimeout = 0;
StateManagementType = STATEFUL_SESSION;
RunAsMode = CLIENT_IDENTITY;

}

Por ultimo, utilizo la herramienta deployejb:

deployejb -republish -temp temp -u jspuser -p jsp -s sess_iiop://localhost:2481:bd1 -verbose -descriptor My8iEJB.ejb -generated My8iEJBClient.jar My8iEJB.jar

Y es aqui donde me aparece el siguiente error:

IOException Deserializing: oracle.aurora.ejb.dd.SessionDescriptor; is not serializable

¿Como puedo arreglar esto?

Muchas gracias.

EFrain Cede?
18 de Diciembre del 2002
No se mucho de esto pero creo que es pq la clase del bean debe ser serializable... cre que en la declaracion de la case te falta indicarle que es serilizable es una de las reglas de los bean ya sea enterprise o no...bueno si me equivoco disculpame pero no soy muy experto pero creo q ese es el error un bean debe ser del tipo serelizable creo que debe ser extendido de este o algo asi... bye