Мое веб-приложение Apache Wicket использует JDO для сохранения данных в GAE / J.
При запуске приложения домашняя страница ставит задачу в очередь перед ее отображением (с нулевой задержкой по умолчанию ETA). Эта задача приводит к созданию новой веб-страницы Wicket для создания экземпляра одноэлементной фабрики диспетчера персистентности (PMF) JVM для использования приложением в течение его срока службы.
Я настроил приложение на использование одновременных запросов, добавив
<threadsafe>true</threadsafe>
в файл приложения appengine-web.xml.
Несмотря на это, после одного запроса на посещение домашней страницы приложения я получаю два экземпляра приложения: один, созданный по запросу на посещение домашней страницы, и другой, созданный в результате выполнения поставленной в очередь задачи (примерно через 6-7 секунд спустя ).
Я мог бы попытаться решить эту проблему, отложив выполнение поставленной в очередь задачи (возможно, примерно на 10 секунд?), Но зачем мне это делать, когда я включил параллельные запросы? Разве первый экземпляр приложения GAE / J не сможет обрабатывать два запроса близко друг к другу, не вызывая создание второго экземпляра? Я предполагаю, что я делаю что-то не так, но что это?
Я произвел поиск по тегам Stack Overflow ([google-app-engine] [java]), а также по амортизирующей группе "Google App Engine для Java", но не нашел ничего подходящего для моего вопроса.
Буду признателен за любые указатели.