JSF / Primefaces ajax-запрос возвращает ответ с HTTP 200, но периодически не достигает сервера - PullRequest
0 голосов
/ 25 октября 2018

Я разработал приложение JSF / Primefaces со следующим стеком:

  • MyFaces JSF 2.2
  • Primefaces 6.0
  • TomEE 7.0.4
  • JDK 8

Это приложение использует различные компоненты Primefaces.Помимо навигации по страницам, все действия выполняются как акякс.

Функциональные возможности работают нормально в моей среде разработки;Я использую Debian.Когда приложение было развернуто на сервере UAT, который является CentOS;действия ajax не работают должным образом.

Я вижу в сети разработчика инструмента браузера, что запросы запускаются и получают ответы с HTTP 200, но большую часть времени он не достигает сервера.Я сделал запись различных вещей, и когда запрос не достигает сервера, ничего не регистрируется в консоли;даже в access.log TomEE.

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

Насколько мне известно, запрос сначала достигает маршрута 53, затем он направляется в ELB, который передает запрос обратному прокси-серверу Apache и по адресув конце RP передает запрос фактическому TomEE, который находится в EC2.

Сайт защищен HTTPS, а сертификат помещен в RP.

Прежде всего, я думал, что тамчто-то не так с сетью, потому что когда возникает проблема, я вижу сообщение backend socket is disconnected в журнале RP.Поэтому я попытался обойти все путем создания SSH-туннеля непосредственно на UAT-сервере, но проблема все еще остается.

На стороне приложения я также проверил, установив javax.faces.STATE_SAVING_METHOD в serverи javax.faces.PARTIAL_STATE_SAVING до false, но не повезло.

См. следующее изображение:

enter image description here

  • Первый и второйзапросы работали и возвращали ответы размером 223 КБ и 227 КБ соответственно;оба они работали.
  • Третий вернул HTTP 200, но размер ответа составляет 1,0 КБ;этот не сработал.
  • Кроме того, время ответа третьего запроса намного меньше, чем у двух других запросов.
  • Вы видите, я проверил "Отключить кэш" винструмент разработки.

Запрос-ответ, который я показал на рисунке, на самом деле запускается фильтрацией данных Primfaces Datatable.Я фильтровал по колонке.В первых двух попытках, которые вернули правильный ответ и отфильтровали таблицу, я ввел несколько символов в поле ввода фильтра.В последней попытке я очистил ранее введенные символы, так что Datatable будет сброшен.Ответ не был получен, и Datatable показывал «Результат не найден».

Также обратите внимание, что он был протестирован:

  • В разных браузерах
  • Отключив все расширения / плагины данного браузера
  • В разных ОС
  • На разных машинах

Я также скопировал UAT TomEE в мою машину разработчика, изменилконфигурация соединения с базой данных, указывающая на мою локальную базу данных (поскольку скорость соединения между базой данных UAT и моей средой разработки ниже, чем у UAT TomEE; и я подумал, может ли это быть причиной), и я не смог воспроизвести проблему.

Я понятия не имею, что может быть причиной такого странного поведения.Любой указатель был бы очень полезен.

Обновление

Я выкопал больше, скачал исходный код MyFaces и добавил несколько журналов, упаковал его и обновил библиотеку TomEE с пользовательскими myfaces-api-2.2.12.jar и myfaces-impl.2.2.12.jar.Кроме того, я включаю уровень журнала ALL для javax.servlet, javax.faces, org.apache.myfaces, org.primefaces.

Ниже приведены наблюдения:

В случае успеха

Сеть

Общие
Request URL: https://<host>/<context>/pages/applications.xhtml
Request Method: POST
Status Code: 200 OK
Remote Address: <ip>:<port>
Referrer Policy: no-referrer-when-downgrade
Заголовки запроса
Accept: application/xml, text/xml, */*; q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,bn;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 3728
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: JSESSIONID=<session-id>; oam.Flash.RENDERMAP.TOKEN=14ofu8swbe
DNT: 1
Faces-Request: partial/ajax
Host: <host>
Origin: https://<host>
Pragma: no-cache
Referer: https://<host>/<context>/pages/applications.xhtml
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
X-Requested-With: XMLHttpRequest
Данные формы
javax.faces.partial.ajax: true
javax.faces.source: application-table-form:application-table
javax.faces.partial.execute: application-table-form:application-table
javax.faces.partial.render: application-table-form:application-table
application-table-form:application-table: application-table-form:application-table
application-table-form:application-table_filtering: true
application-table-form:application-table_encodeFeature: true
application-table-form:application-table:j_id_1k:filter: 
application-table-form:application-table:j_id_1m:filter: acc
application-table-form:application-table_rppDD: 20
application-table-form_SUBMIT: 1
javax.faces.ViewState: <view-state>
Заголовки ответа
Cache-Control: no-cache,no-store,must-revalidate
Cache-Control: no-cache
Connection: Keep-Alive
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; frame-ancestors 'none';
Content-Type: text/xml;charset=UTF-8
Date: Sat, 27 Oct 2018 14:48:02 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Expires: -1
Keep-Alive: timeout=5, max=100
Pragma: no-cache
Pragma: no-cache
Set-Cookie: oam.Flash.RENDERMAP.TOKEN=14ofu8swbf; Path=/<context>; HttpOnly
Strict-Transport-Security: max-age=15768000;
Transfer-Encoding: chunked
Ответ
<?xml version="1.0" encoding="UTF-8"?>
<partial-response id="j_id__v_0">
    <changes>
        <update id="growl-panel-form:growl-panel"><![CDATA[<div id="growl-panel-form:growl-panel" class="ui-outputpanel ui-widget"><span id="growl-panel-form:growl"></span><script id="growl-panel-form:growl_s" type="text/javascript">$(function(){PrimeFaces.cw('Growl','widget_growl_panel_form_growl',{id:'growl-panel-form:growl',sticky:false,life:6000,escape:true,msgs:[]});});</script></div>]]></update>
        <update id="application-table-form:application-table"><![CDATA[<tr data-ri="0" class="ui-widget-content ui-datatable-even" role="row"><td role="gridcell" class="row-toggler"><div class="ui-row-toggler ui-icon ui-icon-circle-triangle-e" tabindex="0" role="button" aria-expanded="false" aria-label="Toggle Row"></div></td><td role="gridcell">1001</td><td role="gridcell">Access Control</td><td role="gridcell" class="application-action"><button id="application-table-form:application-table:0:edit-application" name="application-table-form:application-table:0:edit-application" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" onclick="PrimeFaces.ab({s:&quot;application-table-form:application-table:0:edit-application&quot;,p:&quot;application-table-form:application-table:0:edit-application&quot;,u:&quot;update-application-dialog-form&quot;,onco:function(xhr,status,args){PF('updateApplicationDialog').show();}});return false;" type="submit"><span class="ui-button-icon-left ui-icon ui-c fa fa-edit"></span><span class="ui-button-text ui-c">ui-button</span></button><script id="application-table-form:application-table:0:edit-application_s" type="text/javascript">PrimeFaces.cw("CommandButton","widget_application_table_form_application_table_0_edit_application",{id:"application-table-form:application-table:0:edit-application"});</script><div id="application-table-form:application-table:0:j_id_1r" class="ui-tooltip ui-widget ui-tooltip-left"><div class="ui-tooltip-arrow"></div><div class="ui-tooltip-text ui-shadow ui-corner-all">Edit this Application</div></div><script id="application-table-form:application-table:0:j_id_1r_s" type="text/javascript">$(function(){PrimeFaces.cw("Tooltip","widget_application_table_form_application_table_0_j_id_1r",{id:"application-table-form:application-table:0:j_id_1r",showEffect:"fade",hideEffect:"fade",target:"application-table-form:application-table:0:edit-application",position:"left"});});</script><button id="application-table-form:application-table:0:delete-application" name="application-table-form:application-table:0:delete-application" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only gap-before" data-pfconfirmcommand="PrimeFaces.bcn(this,event,[function(event){PrimeFaces.ab({s:&quot;application-table-form:application-table:0:delete-application&quot;,p:&quot;application-table-form:application-table:0:delete-application&quot;,u:&quot;application-table-form:application-table&quot;});return false;}]);" onclick="PrimeFaces.confirm({source:&quot;application-table-form:application-table:0:delete-application&quot;,header:&quot;Confirmation&quot;,message:&quot;Delete 1001?&quot;,icon:&quot;fa fa-exclamation-triangle&quot;});return false;" type="submit"><span class="ui-button-icon-left ui-icon ui-c fa fa-trash"></span><span class="ui-button-text ui-c">ui-button</span></button><script id="application-table-form:application-table:0:delete-application_s" type="text/javascript">PrimeFaces.cw("CommandButton","widget_application_table_form_application_table_0_delete_application",{id:"application-table-form:application-table:0:delete-application",behaviors:{click:function(ext,event) {}}});</script><div id="application-table-form:application-table:0:j_id_1t" class="ui-tooltip ui-widget ui-tooltip-left"><div class="ui-tooltip-arrow"></div><div class="ui-tooltip-text ui-shadow ui-corner-all">Delete this Application</div></div><script id="application-table-form:application-table:0:j_id_1t_s" type="text/javascript">$(function(){PrimeFaces.cw("Tooltip","widget_application_table_form_application_table_0_j_id_1t",{id:"application-table-form:application-table:0:j_id_1t",showEffect:"fade",hideEffect:"fade",target:"application-table-form:application-table:0:delete-application",position:"left"});});</script></td></tr>]]></update>
        <update id="j_id__v_0:javax.faces.ViewState:1"><![CDATA[view-state]]></update>
        <extension ln="primefaces" type="args">{"totalRecords":1}</extension>
    </changes>
</partial-response>

Журнал сервера

2018-10-27 14:03:52,376 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage : renderView : Rendering View: /pages/applications.xhtml
2018-10-27 14:03:52,376 : FINEST : http-nio-6880-exec-1 : org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage : getResponseEncoding : Facelet specified alternate encoding 'UTF-8'
2018-10-27 14:03:52,376 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class javax.faces.component.UIViewRoot
2018-10-27 14:03:52,377 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.outputpanel.OutputPanel
2018-10-27 14:03:52,377 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.outputpanel.OutputPanel
2018-10-27 14:03:52,377 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.datatable.DataTable
2018-10-27 14:03:52,562 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.rowtoggler.RowToggler
2018-10-27 14:03:52,562 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.rowtoggler.RowToggler
2018-10-27 14:03:52,563 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class javax.faces.component.html.HtmlOutputText
2018-10-27 14:03:52,563 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.RendererUtils : getStringValue : the created converter is null
2018-10-27 14:03:52,563 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.RendererUtils : getStringValue : returning an .toString
2018-10-27 14:03:52,563 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase : renderOutput : renderOutput '1001'
2018-10-27 14:03:52,563 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase : renderOutput : renderOutputText writing '1001'
2018-10-27 14:03:52,563 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class javax.faces.component.html.HtmlOutputText
2018-10-27 14:03:52,564 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class javax.faces.component.html.HtmlOutputText
2018-10-27 14:03:52,564 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.RendererUtils : getStringValue : the created converter is null
2018-10-27 14:03:52,564 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.RendererUtils : getStringValue : returning an .toString
2018-10-27 14:03:52,564 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase : renderOutput : renderOutput 'Access Control'
2018-10-27 14:03:52,564 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase : renderOutput : renderOutputText writing 'Access Control'
2018-10-27 14:03:52,564 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class javax.faces.component.html.HtmlOutputText
2018-10-27 14:03:52,565 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class javax.faces.component.html.HtmlPanelGroup
2018-10-27 14:03:52,565 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.commandbutton.CommandButton
2018-10-27 14:03:52,565 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.commandbutton.CommandButton
2018-10-27 14:03:52,565 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.tooltip.Tooltip
2018-10-27 14:03:52,565 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.tooltip.Tooltip
2018-10-27 14:03:52,566 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.commandbutton.CommandButton
2018-10-27 14:03:52,566 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.commandbutton.CommandButton
2018-10-27 14:03:52,566 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.tooltip.Tooltip
2018-10-27 14:03:52,566 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.tooltip.Tooltip
2018-10-27 14:03:52,566 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class javax.faces.component.html.HtmlPanelGroup
2018-10-27 14:03:52,567 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.datatable.DataTable
2018-10-27 14:03:52,567 : FINEST : http-nio-6880-exec-1 : org.apache.myfaces.application.StateManagerImpl : saveView : Calling saveView of StateManagementStrategy: org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy
2018-10-27 14:03:52,568 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.util.StateUtils : findAlgorithm : Using algorithm DES
2018-10-27 14:03:52,568 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.util.StateUtils : findAlgorithmParams : Using algorithm paramaters ECB/PKCS5Padding
2018-10-27 14:03:52,568 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.util.StateUtils : findMacAlgorithm : Using algorithm HmacSHA1
2018-10-27 14:03:52,568 : DEBUG : http-nio-6880-exec-1 : org.apache.myfaces.shared.util.StateUtils : encrypt : encrypting w/ DES/ECB/PKCS5Padding
2018-10-27 14:03:52,569 : DEBUG : http-nio-6880-exec-1 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class javax.faces.component.UIViewRoot
2018-10-27 14:03:52,569 : FINEST : http-nio-6880-exec-1 : org.apache.myfaces.lifecycle.LifecycleImpl : render : exiting RENDER_RESPONSE(6) in org.apache.myfaces.lifecycle.LifecycleImpl

В случае сбоя

Сеть

Общие
Request URL: https://<host>/<context>/pages/applications.xhtml
Request Method: POST
Status Code: 200 OK
Remote Address: <ip>:<port>
Referrer Policy: no-referrer-when-downgrade
Заголовки запроса
Accept: application/xml, text/xml, */*; q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,bn;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 3728
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: JSESSIONID=<session-id>; oam.Flash.RENDERMAP.TOKEN=14ofu8swbc
DNT: 1
Faces-Request: partial/ajax
Host: <host>
Origin: https://<host>
Pragma: no-cache
Referer: https://<host>/<context>/pages/applications.xhtml
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
X-Requested-With: XMLHttpRequest
Данные формы
javax.faces.partial.ajax: true
javax.faces.source: application-table-form:application-table
javax.faces.partial.execute: application-table-form:application-table
javax.faces.partial.render: application-table-form:application-table
application-table-form:application-table: application-table-form:application-table
application-table-form:application-table_filtering: true
application-table-form:application-table_encodeFeature: true
application-table-form:application-table:j_id_1k:filter: 
application-table-form:application-table:j_id_1m:filter: acc
application-table-form:application-table_rppDD: 20
application-table-form_SUBMIT: 1
javax.faces.ViewState: <view-state>
Заголовки ответа
Cache-Control: no-cache,no-store,must-revalidate
Cache-Control: no-cache
Connection: Keep-Alive
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; frame-ancestors 'none';
Content-Type: text/xml;charset=UTF-8
Date: Sat, 27 Oct 2018 14:12:45 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Expires: -1
Keep-Alive: timeout=5, max=100
Pragma: no-cache
Pragma: no-cache
Set-Cookie: oam.Flash.RENDERMAP.TOKEN=14ofu8swbd; Path=/<context>; HttpOnly
Strict-Transport-Security: max-age=15768000;
Transfer-Encoding: chunked
Ответ
<partial-response id="j_id__v_0">
    <changes>
        <update id="growl-panel-form:growl-panel"><![CDATA[<div id="growl-panel-form:growl-panel" class="ui-outputpanel ui-widget"><span id="growl-panel-form:growl"></span><script id="growl-panel-form:growl_s" type="text/javascript">$(function(){PrimeFaces.cw('Growl','widget_growl_panel_form_growl',{id:'growl-panel-form:growl',sticky:false,life:6000,escape:true,msgs:[]});});</script></div>]]></update>
        <update id="application-table-form:application-table"><![CDATA[<tr class="ui-widget-content ui-datatable-empty-message"><td colspan="4">No result found with given criteria</td></tr>]]></update>
        <update id="j_id__v_0:javax.faces.ViewState:1"><![CDATA[view-state]]></update>
    </changes>
</partial-response>

Журнал сервера

2018-10-27 14:02:17,947 : DEBUG : http-nio-6880-exec-2 : org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage : renderView : Rendering View: /pages/applications.xhtml
2018-10-27 14:02:17,947 : FINEST : http-nio-6880-exec-2 : org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage : getResponseEncoding : Facelet specified alternate encoding 'UTF-8'
2018-10-27 14:02:17,947 : DEBUG : http-nio-6880-exec-2 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class javax.faces.component.UIViewRoot
2018-10-27 14:02:17,948 : DEBUG : http-nio-6880-exec-2 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.outputpanel.OutputPanel
2018-10-27 14:02:17,948 : DEBUG : http-nio-6880-exec-2 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.outputpanel.OutputPanel
2018-10-27 14:02:17,948 : DEBUG : http-nio-6880-exec-2 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll begins for component: class org.primefaces.component.datatable.DataTable
2018-10-27 14:02:17,948 : DEBUG : http-nio-6880-exec-2 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class org.primefaces.component.datatable.DataTable
2018-10-27 14:02:17,948 : FINEST : http-nio-6880-exec-2 : org.apache.myfaces.application.StateManagerImpl : saveView : Calling saveView of StateManagementStrategy: org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy
2018-10-27 14:02:17,949 : DEBUG : http-nio-6880-exec-2 : org.apache.myfaces.shared.util.StateUtils : findAlgorithm : Using algorithm DES
2018-10-27 14:02:17,949 : DEBUG : http-nio-6880-exec-2 : org.apache.myfaces.shared.util.StateUtils : findAlgorithmParams : Using algorithm paramaters ECB/PKCS5Padding
2018-10-27 14:02:17,949 : DEBUG : http-nio-6880-exec-2 : org.apache.myfaces.shared.util.StateUtils : findMacAlgorithm : Using algorithm HmacSHA1
2018-10-27 14:02:17,949 : DEBUG : http-nio-6880-exec-2 : org.apache.myfaces.shared.util.StateUtils : encrypt : encrypting w/ DES/ECB/PKCS5Padding
2018-10-27 14:02:17,950 : DEBUG : http-nio-6880-exec-2 : javax.faces.component.UIComponentBase : encodeAll : ########## - encodeAll end for component: class javax.faces.component.UIViewRoot
2018-10-27 14:02:17,950 : FINEST : http-nio-6880-exec-2 : org.apache.myfaces.lifecycle.LifecycleImpl : render : exiting RENDER_RESPONSE(6) in org.apache.myfaces.lifecycle.LifecycleImpl

Примечание

  • В журнале сервера сообщения, начинающиеся с "########## "добавлены мною, чтобы увидеть, кодируются ли какие-либо UIComponents или нет.
  • В обоих случаях фильтр, используемый в Datatable, имеет значение" acc ", которое вы можете увидеть в данных формы: application-table-form:application-table:<jsf-id>:filter: acc
  • Ключевое наблюдение состоит в том, что потомки Datatable не кодируются, поэтому Renderer не вызывают методы бэкэнда.Что ясно из обоих журналов.

Наблюдение

Проблемы начинают возникать после 5-6 часов перезапуска сервера.Я видел сразу после запуска сервера все работает нормально.Я не уверен, связано ли это с проблемой или нет.

...