Bugs item #478090, was opened at 2001-11-04 13:20
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=478090&group_id=22866

Category: JBossServer
Group: v2.5 Rabbit Hole (unstable)
Status: Open
Resolution: None
Priority: 5
Submitted By: Peter Levart (plevart)
>Assigned to: Andreas Schaefer (schaefera)
Summary: EJBLocalHome interface NOT passivateable

Initial Comment:
The EJB 2.0 spec says about SFSBs (in 7.4.1, page 71) that 
references to EJBLocalHome interfaces can be left in the 
non-transient fields to be passivated by the container.

Well, I get following exception thrown when my SFSB gets 
passivated:

PassivatorQueue [ERROR] EXCEPTION
java.rmi.ServerException: Could not passivate; nested 
exception is:
        java.io.NotSerializableException: 
org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$HomeProxy
java.io.NotSerializableException: 
org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$HomeProxy
        at 
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
        at 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
        at 
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
        at 
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
        at 
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
        at 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
        at 
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
        at 
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
        at 
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
        at 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
        at 
org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:286)
        at 
org.jboss.ejb.plugins.StatefulSessionInstanceCache.passivate(StatefulSessionInstanceCache.java:68)
        at 
org.jboss.ejb.plugins.AbstractInstanceCache$1.execute(AbstractInstanceCache.java:711)
        at 
org.jboss.util.WorkerQueue$QueueLoop.run(WorkerQueue.java:199)
        at java.lang.Thread.run(Thread.java:484)




----------------------------------------------------------------------

Comment By: Peter Levart (plevart)
Date: 2001-11-04 14:51

Message:
Logged In: YES 
user_id=346981

The place where this is missing from are 
org.jboss.ejb.plugins.SessionObjectInputStream and 
org.jboss.ejb.plugins.SessionObjectOutputStream but for them to 
be able to serialize/deserialize local interfaces some support has 
to be added to the framework. I propose the following:

Create 4 new interfaces that will be used internally by the JBoss:

//
// analogue to javax.ejb.Handle but for local interfaces
//
public interface LocalHandle extends java.io.Serializable {

        // obtain EJBLocalObject reference represented by this 
handle
        public EJBLocalObject getEJBLocalObject();
}


//
// analogue to javax.ejb.HomeHandle but for local interfaces
//
public interface LocalHomeHandle extends java.io.Serializable {

        // obtain EJBLocalHome reference represented by this 
handle
        public EJBLocalHome getEJBLocalHome();
}


//
// extension to javax.ejb.EJBLocalObject interface that adds a 
method to obtain a handle
//
public interface EJBossLocalObject extends 
javax.ejb.EJBLocalObject {

        // obtain a LocalHandle for this EJBossLocalObject
        public LocalHandle getLocalHandle();
}


//
// extension to javax.ejb.EJBLocalHome interface that adds a 
method to obtain a handle
//
public interface EJBossLocalHome extends 
javax.ejb.EJBLocalHome {

        // obtain a LocalHomeHandle for this EJBossLocalHome
        public LocalHomeHandle getLocalHomeHandle();
}


... then use EJBossLocalObject & EJBossLocalHome for the 
various implementation classes internally in JBoss instead of 
standard EJBLocalObject & EJBLocalHome (for proxies) and create 
some analogues implementations of LocalHandle and 
LocalHomeHandle interfaces as done with remote interfaces in 
org.jboss.ejb.plugins.jrmp package...



----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=478090&group_id=22866

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to