当我在ManagedBean中使用@EJB
将Weblogic 12c(12.1.1.0)上的STATE_SAVING_METHOD
设置为client
时,我得到了以下例外:
<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;
更新:在使用<h:form/>
的XHTML中,将出现错误
我没有找到一个解决方案来使用@ViewScoped
与EJB
。似乎@ViewScoped
不支持将STATE_SAVING_METHOD
设置为client
的EJB。
要解决这个问题,我有两个选项:
- 不使用
@ViewScoped
,选择@RequestScoped
或@SessionScoped
代替 - 使用
STATE_SAVING_METHOD
和server
参数