У меня есть приложение, которое выполняет отложенную операцию. Пользователь генерирует 1 миллион сообщений, которые хранятся в очереди JMS, а затем MDBeans потребляет эти сообщения и выполняет некоторые действия и сохраняет данные в базе данных. Поскольку JMS Queue работает слишком быстро, она пытается создать 1 миллион экземпляров MDBean, которые, в свою очередь, пытаются создать 1 миллион соединений с базой данных. Не удивительно, что время ожидания некоторых из них истекло, поскольку пул соединений JDBC не может обслуживать 1 миллион запросов на соединение.
Какое лучшее решение для контроля количества созданных MDBeans? Было бы лучше, чтобы 1 миллион сообщений обрабатывался определенным количеством MDBeans, которое не превышает количество разрешенных соединений в пуле JDBC