java.io.NotSerializableException:当STATE_SAVING_METHOD设置为client时,weblogic.ejb.container.internal.StatelessLocalObject

时间:2015-08-06 11:47:51

标签: jsf ejb weblogic weblogic12c

当我在ManagedBean中使用STATE_SAVING_METHOD在Weblogic 12c(12.1.1.0)上将client设置为@EJB时,我遇到以下异常:

<Error> <javax.enterprise.resource.webcontainer.jsf.application> <BEA-000000> <Error Rendering View[/test.xhtml]
java.io.NotSerializableException: weblogic.ejb.container.internal.StatelessLocalObject
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
...

在ManagedBean:

@ManagedBean()
@ViewScoped
public class TestMB implements Serializable {

private static final long serialVersionUID = 4760453378399618429L;

@EJB
private TestFacade testFacade;

更新:

在XHTML中,使用<h:form/>,将出现错误。

1 个答案:

答案 0 :(得分:0)

我没有找到将@ViewScopedEJB一起使用的解决方案。似乎@ViewScoped不支持将STATE_SAVING_METHOD设置为client的EJB。

要解决这个问题,我有两个选择:

  1. 请勿使用@ViewScoped,而是选择@RequestScoped@SessionScoped
  2. STATE_SAVING_METHODserver paramether
  3. 一起使用