У меня вопрос, что у меня есть проект на основе весны-MVC. В котором есть класс, содержащий всю статическую переменную, доступную всем пользователям. Все Bean являются singleton, что создает проблемы, когда несколько пользователей обращаются к приложению: последний пользователь может изменить статическую переменную одновременно с выполнением своей задачей предыдущего пользователя. Таким образом, после последнего пользователя появляются данные предыдущего пользователя, которые перекрываются с данными последнего пользователя, который создает конфликт в отчете. Я также пользовательский прототип bean, но я не нашел никаких решений из-за статической переменной. Итак, у кого есть решение, связанное с этой проблемой? Благодарю.прототип весеннего боба с глобальной статической переменной
ответ
Во-первых: используйте db и сохраните данные там. Если вы перезапустите свою программу, все изменения, внесенные пользователями, будут отброшены.
Во-вторых: вы пометили его по-разному, так как это вопрос согласованности: сделайте блок синхронизации, сохраните версию, после ввода блока синхронизации проверьте, изменяется ли изменение последней версии или предыдущей: , если вы измените последнюю фиксацию - ok , если это не так: обработать исключение.
третий: это плохо пахнет. Вы уверены, что вам нужны все пользователи ИЗМЕНИТЬ один параметр? Ведете ли вы учет того, кто и как его модифицировал? Синглтоны в основном используются как неизменяемые объекты только для чтения, которые обмениваются информацией во всем приложении.
И дальше: пожалуйста, не используйте статические изменяемые переменные. Шутки в сторону.
- 1. Javascript - пересекаться прототип с глобальной переменной
- 2. Доступ к глобальной статической переменной
- 3. Изменен адрес статической глобальной переменной?
- 4. Объявление глобальной и статической переменной
- 5. Странное поведение статической глобальной переменной
- 6. Использование статической и глобальной переменной
- 7. Настройка подсобственности весеннего боба
- 8. Условное создание весеннего боба
- 9. Пользовательские параметры весеннего боба
- 10. Анализ параметров весеннего боба
- 11. Ошибка весеннего боба
- 12. Порядок выполнения весеннего боба
- 13. Конфигурация весеннего боба xml
- 14. Разница между статической глобальной переменной и статической переменной внутри fucntion
- 15. Проблема при выполнении весеннего боба
- 16. Создание боба в контексте весеннего
- 17. Создание весеннего боба посредством десериализации
- 18. Инъекционная зависимость от весеннего боба
- 19. Опасности объявления MainWindow как глобальной статической переменной
- 20. Нарушение прав доступа к статической глобальной переменной?
- 21. разница между «глобальной» и «статической глобальной»
- 22. Загрузка одного весеннего боба файла другого на основе переменной?
- 23. Как получить доступ к глобальной статической переменной в статической функции с переменной с тем же именем
- 24. Врезка весеннего боба без явной декларации зависимости?
- 25. Инъекция весеннего боба в прослушивании прослушивания Hazelcast
- 26. spring core prolem в создании весеннего боба
- 27. Маршаллинг XML-файла в виде весеннего боба
- 28. Клиент отдыха в качестве весеннего боба
- 29. Как настроить messages.properties в аннотациях весеннего боба?
- 30. Странная ошибка лямбда в создании весеннего боба
показать код! –