我想按如下方式处理登录方案:
我目前正在做第二步:
return new StatefulBean(some params);
这是正确的方法吗?在我看来并不是因为我得到了例外:
Class org.eclipse.persistence.internal.jpa.EntityManagerImpl is not Serializable
运行我的应用程序时,我认为它与所描述的方法有关。
将对SFJB的引用从SLJB返回给客户端的正确方法是什么?
答案 0 :(得分:3)
首先,这是完全错误的:
new StatefulBean(some params)
EJB容器负责创建和销毁bean的实例,不应该手动创建它们。
在你的场景中,我会颠倒流程:客户端连接到有状态bean,它可能是无状态会话bean作为帮助器。无需传递bean,客户端总是使用相同的bean。
答案 1 :(得分:1)
正如Tomasz所提到的,你可能需要重新思考你的流程。
也就是说,您可以通过使用我们在启动时分配给每个bean的可移植JNDI名称进行JNDI查找来获取新的有状态实例。