Число потребителей очереди сообщений JMS не увеличивается в JBoss EAP 7.1, даже если сообщение добавляется в очередь JMS. Потребляющие сообщения перестали работать внезапно.
Мы используем Spring JMS Listener, и параллелизм установлен на 100.
Класс конфигурации
@Configuration
@ComponentScan
@EnableSwagger2
@EnableJms
@EnableAutoConfiguration
@EnableCaching
@PropertySource("classpath:application-resources.properties")
@JBossLog
public class MyApp extends SpringBootServletInitializer {
private static Class<MyApp> applicationClass = MyApp.class;
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(applicationClass);
}
@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(
ConnectionFactory connectionFactory, MyAppJmsErrorHandler errorHandler) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setErrorHandler(errorHandler);
return factory;
}
@Service
public class MyAppJmsErrorHandler implements ErrorHandler {
@Override
public void handleError(Throwable t) {
log.error(t.getStackTrace());
}
}
}
Класс слушателя:
@Component
public class MyListener {
@Autowired
TestService serviceInstance;
@JmsListener(destination = TEST_QUEUE, concurrency = "100")
public void onMessage(IncomingRequest request) {
serviceInstance.callDB();
}
}