Обмен экранами между двумя пользователями

У нас есть веб-приложение с техническим стеком - 1. Основанный на Java Struts 2. Спящий режим 3. БД - Oracle 4. Сервер приложений - сервер JBoss

Мы столкнулись с проблемой, связанной с одновременным использованием приложения двумя или более пользователями. Когда я выполняю операцию и отправляю изменения, появляется следующая страница или сообщение об успешном выполнении другой операции, которую в то же время выполняет другой пользователь.

Пользователи вошли в систему как разные пользователи и поэтому используют разные сеансы.

Мы понятия не имеем, в чем проблема, поэтому я не уверен, какие еще подробности могу предоставить.

Кто-нибудь еще сталкивался с такой проблемой или какие-либо указатели?


person Community    schedule 04.02.2009    source источник


Ответы (3)


Вы используете контекст приложения вместо контекста сеанса? Более того, как сказал Eed3si9n, остерегайтесь синглтонов, которые могут быть причиной этого.

«Кроме того, проверьте использование статических полей. Одно приложение, которое мне было предложено исправить, использовало статическую строку для сообщения об ошибке. Как только какой-либо пользователь получал сообщение об ошибке, все они делали это. Работало нормально, пока не было более одного одновременно работающего пользователя». – Майкл Рутерфурд (опубликовал как комментарий)

person Adeel Ansari    schedule 04.02.2009
comment
Кроме того, проверьте использование статических полей. Одно приложение, которое мне пришлось исправлять, использовало статическую строку для сообщения об ошибке. Как только любой пользователь получил ошибку, они все сделали. Работал нормально, пока не было более одного одновременного пользователя. - person Michael Rutherfurd; 04.02.2009
comment
Грустная история. Вы не хотите, чтобы я начал исправлять эти своеобразные коды. - person Adeel Ansari; 04.02.2009
comment
Пожалуйста, позвольте мне, Михаил, включить ваш комментарий в мой пост. Люди иногда не идут на комментарии. - person Adeel Ansari; 04.02.2009

Я не знаком с конкретными библиотеками, которые вы используете, но позвольте мне попробовать.

Насколько не имеет состояния код вашего приложения? Есть ли у вас какое-либо глобальное состояние, такое как синглтон с полями-членами? Если служба сохраняет состояние и использует синглтон, у вас могут быть такие путаницы.

person Eugene Yokota    schedule 04.02.2009

Убедитесь, что форма определена как область приложения, и сообщение, которое вы показываете на экране, исходит из этой формы.

person Bhushan Bhangale    schedule 04.02.2009