Самый простой способ остановить все потоки Java от исчезновения в IO? - PullRequest
0 голосов
/ 23 апреля 2009

У меня есть веб-приложение, для работы которого требуется только сервлет-контейнер. Моя страница входа и главная страница не имеют каких-либо внутренних транзакций, но все остальные. Каков был бы самый простой способ гарантировать, что я не отправлю все мои потоки в какой-либо сокет, ожидая серверную систему (CXF-webservices)? Это weblogic 10.3, но я действительно не так обеспокоен соответствием стандартам.

У меня есть аспект AOP, который уже перехватывает весь внутренний трафик, поэтому я решил, что могу увеличить / уменьшить AtomicInteger и выдать исключение, когда осталось слишком мало потоков, но это создает проблему определения размера текущего пула потоков.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 23 апреля 2009

Какой у вас контроль? Не могли бы вы настроить weblogic на , используя модель пула потоков 8.1 , а затем определить другие пулы потоков - один для потенциально долгоживущих внутренних вызовов и один для обработки запросов на главную страницу?

Это будет только конфигурация, и вам не придется ничего кодировать, что мне кажется хорошим.

0 голосов
/ 23 апреля 2009

Хорошо, каков ваш вариант использования? Если все, кроме вашей учетной записи и титульных страниц, имеет внутренние транзакции и у вас закончились потоки, что вы хотите, чтобы приложение делало ? Какое наблюдаемое поведение вы хотели бы?

В некотором роде обычно было бы иметь какое-то сообщение "пожалуйста, подождите ..."; если так, создайте поток, который может настроить это, и иметь это, проверяющий на прогресс. Если прогресса нет, покажите сообщение «Пожалуйста, подождите ...».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...