Как управлять модулем приложения, чтобы он не выдавал ошибку, когда несколько сеансов обращаются к одному экземпляру сервера
Проблема 1: у меня есть веб-сервис, где я создаю AM, выполняющий операции с БД, такие как запросы выбора, и я выпускаю AM
когда я тестирую этот веб-сервис, используя несколько запросов на один и тот же экземпляр сервера, с промежутком времени в несколько секунд, я не могу получить ожидаемый ответ на каждый вызов
Это исключение напечатано в ответе:
JBO-30014: файл cookie для сеанса ad184ff5-db7f-4946-a90c-12c4b8019433 и приложения ad184ff5-db7f-4946-a90c-12c4b8019433 не может быть удален из пула приложений, если для него извлечен модуль приложения.
class="oracle.jbo.common.ampool.ApplicationPoolImpl"
file="ApplicationPoolImpl.java"
line="826"
method="removeSessionCookie">
Выпуск 2:
Выполняя многопоточность с использованием классов-исполнителей, я не могу передать один и тот же объект AM во все потоки. Я вынужден создавать новый AM в каждом потоке, поскольку он выдает ошибку, когда одна транзакция БД потоков достигает коммита, а другая транзакция БД - это половина пути, который будет прерван и вынужден совершить
Есть ли выход из этого?
Поскольку приложение сталкивается с перебоями из-за большего количества AM и из-за которых есть большее количество соединений с БД
Использование JDeveloper 11g, выпуск 2