Итак, сейчас много недель спустя (после того, как я задал этот вопрос), и, следовательно, мой уровень знаний рос в геометрической прогрессии, поэтому я подумал, что я мог бы также ответить на мой вопрос для любого, кто может найти его полезным (не говоря уже о вопросе).было не очень понятно для начала).
Основной ответ: используйте прокси.Так как синглтон создается только 1 раз, вы не можете ввести другой класс с более коротким сроком жизни, например.Объем сеанса.Для тех, кто нуждается в дополнительной информации, проверьте состояние с бобами без сохранения состояния.Более или менее то, что я в итоге сделал, это ... службы содержат код STATELESS для манипулирования данными (например, глаголы; RegisterUserSvc, AddPartSvc и т. Д.).Данные, которыми манипулируют эти сервисы, являются состоянием.Например, у каждого пользователя есть собственная копия своего собственного объекта данных, скажем, TodoListBean, который находится в разных состояниях для каждого пользователя.
Так как же сервис, например AddTodoItemService, манипулирует этими данными?Это где прокси вступает в игру.При создании экземпляра AddTodoItemService внедряется с прокси для TodoListBean вместо фактического объекта.Таким образом, когда службе требуется доступ к TodoListBean, контейнер будет обслуживать TodoListBean из сеанса текущего пользователя, и поэтому служба будет работать с правильным компонентом (в зависимости от того, какой пользователь вызвал службу) вместо выполнения чего-либоглупо, как если бы множество копий службы входило в сессию каждого пользователя.