Как контролировать, что метод сессионного компонента без сохранения состояния выполняется по одному? - PullRequest
0 голосов
/ 17 марта 2020

Наш сервер Weblogi c работает с EJB2.1. Наше приложение получает запросы от сообщений. Если приходит несколько сообщений, относящихся к одной и той же сущности (это не имеет значения), метод из метода без состояния вызывается несколько раз, и они выполняются параллельно. Как я могу предотвратить это, так что мне делать, чтобы они бегали друг за другом?

1 Ответ

1 голос
/ 17 марта 2020

EJB-компонент в вашем контейнере EJB предполагает параллельную работу.

Единственный способ, которым я вижу, - установить max-beans-in-free-pool на один компонент в weblogic-ejb-jar.xml, но это сильно повлияет на вашу производительность. https://docs.oracle.com/cd/E17904_01/web.1111/e13719/ejb_jar_ref.htm#EJBPG656

С другой стороны, вы можете перейти на Singleton EJB , который существует из EE6 (EJB3.1), но перенести ваши EJB с 2.1 до 3.1 длинная (тяжелая) задача.

...