Страница JSP не загружается, если другой пользователь загружает страницу - PullRequest
0 голосов
/ 17 января 2019

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

Страница:

<%@ page isThreadSafe="false" import="java.util.*" errorPage="error2.jsp" %>
<html>
<head>
<title>Test page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<% 
    for (int i = 1;i <= 10000; i++) { %>
          line <%=i%>&nbsp;<%=new Date()%><br>
         <% for (int j = 1;j <= 900000; j++) {
         }
    }
%>
</center>
</body>
</html>  

Когда я захожу на эту страницу в двух браузерах одновременно, оба начинают вращаться, один начинает отображать данные «строка 1 ....», другой продолжает вращаться, пока первый не отображает строку 10000 ... ", и тогда второй браузер начнет отображаться.

Первая и последняя строки отображения в первом браузере:

строка 1 ср. 16 января 15:35:25 EST 2019
линия 10000 ср. 16 января 15:35:39 EST 2019

и первая и последняя строки отображения во втором браузере:

строка 1 ср. 16 января 15:35:39 EST 2019
линия 10000 ср. 16 января 15:35:53 EST 2019

Мне удалось продублировать это в JBoss 7 и в Wildfly 9. Оба в автономном режиме.

Есть ли какой-то параметр в standalone.xml, который мне нужно установить, чтобы два JBoss / Wildfly создавали два или более экземпляров одной и той же страницы одновременно?

1 Ответ

0 голосов
/ 18 января 2019

Похоже, что это атрибут директивы страницы isThreadSafe. Когда я изменяю его с false на true, страницы отображаются в нескольких браузерах одновременно.

...