我想存储对有状态会话Bean的引用并将其保存到数据库或将其传输到另一个VM。据我所知,在EJB 2.x中,可以使用getHandle()
。
如果我尝试使用Glassfish 3.1.1序列化SFSB实例,我会得到以下异常:
java.io.NotSerializableException: com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
此外,我还没有找到获取SFSB句柄的方法。即使容器正确管理bean,SFSB SessionContext中对EFBHome,EFBObject,EFBLocalHome的所有引用都为null。如果我正确理解规范,那么无论如何都不需要EJB 3.1中的句柄,因为开发人员应该能够直接使用SFSB引用。
This article处理同样的问题,但建议使用JavaEEObjectInputStream类没有在我的测试中公开readObject方法。我想知道这种方法是如何工作的。
有人能建议一个很好的方法来序列化Glassfish中的SFSB来存储引用吗?我不想附加对HTTPSession的引用(我只是这样说,因为人们到处都推荐这个)。
答案 0 :(得分:0)