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