Как управлять модулем приложения, чтобы он не выдавал ошибку, когда несколько сеансов обращаются к одному экземпляру сервера

Проблема 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

0 ответов

Другие вопросы по тегам