Создание компонента JMS в качестве компонента сеанса без состояния или с полным состоянием?

#jakarta-ee #jms #javabeans #ejb-3.1

#джакарта-ee #jms #javabeans #ejb-3.1

Вопрос:

По вашему опыту, когда вам нужно создать службу JMS и поместить все методы (создать соединение, создать сеанс и так далее …) Внутри компонента, который отправляет сообщение в компонент, управляемый сообщениями, и получает ответ от этого, лучше ли это быть компонентом с сохранением состояния или без состояния?

Ответ №1:

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

Между отправкой сообщений через вашу службу JMS не требуется состояние, поэтому нет смысла делать его с сохранением состояния. Также компоненты без состояния обычно лучше с точки зрения производительности.