Причины: «Если привязка больше, чем объем запроса или поддержки bean-компонента, это может вызвать несогласованность». Предупреждение в АПД

Я работаю с одной из страниц jsff в ADF, которая содержит одно из всплывающих окон и имеет привязку к управляемому компоненту.

  <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;
}

Я сослался на один из постов, который иллюстрирует проблему с сериализуемыми и потокобезопасными проблемами с компонентом пользовательского интерфейса, и предлагал обобщить объявление 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; 

}

Из-за проблем с сериализацией и потокобезопасностью это приводит к утечкам памяти. Я пробовал описанный выше подход. Но предупреждение по-прежнему присутствует. Пожалуйста, помогите мне решить подход и понять концепцию.

🤔 А знаете ли вы, что...
Oracle Corporation является создателем СУБД Oracle.


1
372
1

Ответ:

Я думаю, проблема в том, что вы связали свой управляемый bean-компонент с областью pageflow. Попробуйте использовать requestScope или backingBeanScope для решения проблемы. Для получения подробной информации посетите этот ссылка на сайт.