Jsf 空无状态会话bean自重部署(还原会话)后从托管bean访问时,如何解决?

Jsf 空无状态会话bean自重部署(还原会话)后从托管bean访问时,如何解决?,jsf,serialization,glassfish,ejb,Jsf,Serialization,Glassfish,Ejb,我管理过bean,例如: @Named(value = "GrassBean") @SessionScoped public class GrassBean implements Serializable { @EJB private transient GrassLocal grass; public String getName() { return grass.getName(); /*Nu

我管理过bean,例如:

    @Named(value = "GrassBean")
    @SessionScoped
    public class GrassBean implements Serializable {

        @EJB
        private transient GrassLocal grass;

        public String getName() {
            return grass.getName(); /*NullPointerException*/
        }
    }
和无状态会话bean:

    @Stateless
    public class Grass implements GrassLocal {
        @Override
        public String getName() {
            return "Name";
        }
    }
我对ejb属性使用transient,因为在NetBeans中自动重新部署后会话恢复失败。 在重新部署会话恢复后使用瞬态恢复有效,但ejb为空。如何解决

服务器:GlassFish 4.1

IDE:NetBeans 8.0.2

transient
标记的字段的可能重复项不可序列化,EJB不属于这些字段。EJB不必是
瞬态的
,因为它们本身已经可以序列化,而不需要实现
java.io.serializable
接口,因为它们使用可序列化代理。这个问题仍然存在于当前问题中看不到的其他地方,需要进一步调试和分析。您将哪个导入用于
@SessionScoped
注释?我使用javax.enterprise.context.*EJB绝对不应该是
瞬态的
。删除该修改器。“Netbeans中自动部署后会话恢复失败”的问题需要以不同的方式解决。为了得到答案,您可能需要重新组织您的问题。可能重复的由
transient
标记的字段不可序列化,而EJB不是其中的一部分。EJB不必是
瞬态的
,因为它们本身已经可以序列化,而不需要实现
java.io.serializable
接口,因为它们使用可序列化代理。这个问题仍然存在于当前问题中看不到的其他地方,需要进一步调试和分析。您将哪个导入用于
@SessionScoped
注释?我使用javax.enterprise.context.*EJB绝对不应该是
瞬态的
。删除该修改器。“Netbeans中自动部署后会话恢复失败”的问题需要以不同的方式解决。为了得到答案,你可能需要重新组织你的问题。