Я хотел бы вызвать метод клиента http (HTTP PUT, GET, и др. ) внутри компонента, но я хочу, чтобы эти компоненты, как MDB, так и сессионный компонент без сохранения состояния, выполнялись как можно быстрее ( очень короткое время жизни).
---[ejb request]--> bean -----[http request]----> host
Проблема в том, что HTTP-соединение слишком медленное (особенно при подключении к медленным хостам).
Возьмем, к примеру, MDB: из-за задержки HTTP MDB работает слишком долго, и очередь быстро останавливается с продолжающимися поступающими сообщениями. (Производитель сообщений быстрее, чем вызов метода http.)
Как я могу решить такую проблему?
- используя NIO http клиент? это поможет?
- открыть дополнительные потоки для выполнения вызова http? (но запуск явного потока в бине не рекомендуется в Java EE)
- какой-нибудь асинхронный http-клиент? есть ли такие либы? они не используют поток?