![](/img/trans.png)
[英]Proper way to execute a query in a backing bean and update a table in ADF
[英]What causes 'If binding is greater than request or backing bean scope, it can cause inconsistencies.' Warning in ADF
我正在使用ADF中的jsff页面之一,该页面包含一个弹出窗口,并且与它的托管bean绑定。
<af:popup id="p11"
binding="#{pageFlowScope.managedbean.rollBackConfirmPopop}">
在managedbean.java类中
定义在于
private RichPopup rollBackConfirmPopop;
public void setRollBackConfirmPopop(RichPopup rollBackConfirmPopop) {
this.rollBackConfirmPopop = rollBackConfirmPopop;
}
public RichPopup getRollBackConfirmPopop() {
return rollBackConfirmPopop;
}
我已经提到了其中一篇文章,该文章说明了UI组件的可序列化和线程安全问题,并建议将rollBackConfirmPopop的声明概括为trininad组件类,
org.apache.myfaces.trinidad.util.ComponentReference class
遵循该方法后,我做了如下更改:
private ComponentReference rollBackConfirmPopop;
public void setRollBackConfirmPopop1(RichPopup rollBackConfirmPopop) {
this.rollBackConfirmPopop = ComponentReference.newUIComponentReference(rollBackConfirmPopop);
}
public RichPopup getRollBackConfirmPopop() {
if (rollBackConfirmPopop!=null)
{
return (RichPopup) rollBackConfirmPopop.getComponent();
}
return null;
}
由于可序列化和线程安全问题,它导致内存泄漏。 我尝试了上述方法。 但是警告仍然存在。 请帮助我解决方法并理解概念。
我认为问题在于您已将托管bean与页面流范围绑定在一起。 尝试使用requestScope或backingBeanScope解决问题。 有关详细信息,请访问此链接 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.