Аналог бобов без сохранения состояния и состояния в Spring - PullRequest
0 голосов
/ 29 октября 2011

Spring bean имеет 2 типа областей (если вы не учитываете области для веб-страниц): singleton (по умолчанию) и prototype.Примерно они реализуют шаблоны проектирования синглтонов и прототипов в контексте.

Таким образом, если у компонента есть область действия прототипа, он может содержать уникальное состояние, такое как компонент с состоянием в EJB.Когда область действия компонента является одноэлементной, контейнер создаст только один его экземпляр.Таким образом, мы можем сказать, что синглтон-бины в EJB 3.1 являются аналогом синглтон-бинов весной.

Но как я могу получить возможности bean-компонентов без состояния в Spring (я имею в виду пул bean-компонентов без состояния в контейнерах EJB и о том, что каждый поток имеет уникальный экземпляр bean-компонента без состояния)?

1 Ответ

3 голосов
/ 29 октября 2011

Либо вы можете сделать боб потокобезопасным, и синглтон-бин в порядке (это большинство случаев).

Или вы не можете, и вам придется использовать прототип.Различие, которое я вижу между bean-компонентами-прототипами Spring и EJB-компонентами без сохранения состояния, состоит в том, что сессионные компоненты без сохранения состояния объединяютсяНо в эти времена объединение их или создание нового экземпляра каждый раз не будет иметь большого значения.Создание нового экземпляра каждый раз может даже помочь GC.

...