2016-09-01 2 views
1

У нас есть backend-приложение с Spring IOC с Джерси REST. Все весенние бобы, которые мы определяем, используют по умолчанию, я имею в виду, singleton.Как работают одноэлементные бобы Spring?

Это приложение является DB-ориентированным с огромным количеством пользователей. Мой вопрос: как пружинные однопользовательские бобы управляют параллелизмом над этим приложением? Ни один из методов в классах службы не определяется как синхронизированный, но мы никогда не сталкиваемся с проблемами синхронизации данных пользователя. Все выглядит отлично.

Я думаю, что я пропустил что-то о пружинах синглтона или о том, как пружина обрабатывает несколько запросов с помощью одноэлементного объекта.

В соответствии с моим пониманием, поскольку весенние бобы являются одиночными, и никакие методы обслуживания не определены как синхронизированные, должны быть некоторые проблемы синхронизации с несколькими запросами.

Можете ли вы помочь мне правильно понять эту вещь?

+0

вы имели в виду Синглтона? – DimaSan

ответ

1

Весенние синглтоны находятся в одноэлементном пространстве в рамках весеннего контейнера.

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

Параллелизм проблема имеет важное значение, когда у вас есть statefull бобы и вы меняете методы state.When фасоли имеют собственные входы от функции aurguments, нет никакого беспокойства больше

+0

Привет, Можете ли вы объяснить немного более сложную или у вас есть какой-либо URL/doc .... да, мои классы бобов меньше, но в классе обслуживания мы получаем значения из параметра запроса и создаем объект DAO с некоторой бизнес-логикой, поэтому в этом случае есть ли вероятность смешивания запроса от другого пользователя? – Sujoy

Смежные вопросы