У меня проблема с производительностью с помощью метода RemoteCommand caling bean method time lag.
Использование primefaces 4.0, наша страница XHTML, во время выполнения нагрузок значительное количество дивы в панельОсновные интерфейсы RemoteCommand временная задержка при вызове bean-компонента
<p:outputPanel id="runtime_panel" autoUpdate="true" />
Некоторые элементы управления SelectOneRadio есть метод слушателей через setOnchange(). Они называют RemoteCommand, который определен в верстку страницы во время разработки:
<p:remoteCommand name="ourRemoteCommand"
actionListener="#{bean.someMethod}" update="runtime_panel"
/>
Цель bean.someMethod, чтобы показать или скрыть определенные элементы управления с графическим интерфейсом на нашей странице через AJAX. Bean - это запрос области.
Проблема заключается в прохождении определенного времени лагом при звонке bean.someMethod от клиента. В моих тестах ответы на javascript неожиданно, но есть достаточно длинное отставание passeed, когда я поймаю bean.someMethod через точку останова на стороне сервера - около 2,5 секунд.
Я также изменяю область боба на сеанс, чтобы исключить этап фазы строительства, но этот шов не проблема - он не решал временную задержку.
Если есть только небольшое количество элементов в «runtime_panel», я не заметил каких-либо задержки, и точка останова немедленно останавливается в «bean.someMethod». Между количеством элементов управления и временем отклика имеется корреляция.
Я также создаю еще один тестовый пусковой набор RemoteCommand в начале страницы в собственной форме.
<form>
<p:remoteCommand name="rcgg" partialSubmit="true" process="@this" update="@none" actionListener="#{bean.testMethod()}" />
<h:outputText id="msgs" value="Ajax Submit" />
<p:commandButton type="button" onclick="console.log('client start');rcgg('ddd');console.log('client end')" value="Ajax1" icon="ui-icon-refresh" />
</form>
Таким образом, код сервера также выполняется немедленно. Но когда «outputPanel» имеет много элементов gui, есть также временная задержка , когда серверная часть начинает выполняться, даже нет никакого отношения к этому RemoteCommand «rcgg». Странный.
Я также протестирована с несколькими RemoteCommand arributes (
immediate="false" async="true" partialSubmit="true" ignoreAutoUpdate="true" process="@none" global="false"
update="@none"
), но без успеха тоже.
У меня нет идеи, как избавиться от этого «запаха вызова боба».
Мне очень нужна ваша помощь.