powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / ActiveMQ с высокой производительностью
6 сообщений из 6, страница 1 из 1
ActiveMQ с высокой производительностью
    #38489396
Timoshenko Arthur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток!
Опишу задачу.
Поднят сервер activemq(хоть его все и ругают, но выбора нет - таковы требования). К нему в качестве БД подключен оракл. Есть приложения, которые выгребают из дргой БД данные и посылают в очередь, а также висит на этой очереди листенер.
Опишу проблему.
При разгребании очереди(т.к. постановщики ставят гораздо быстрее, чем разбирает листенер) листенер как бы "зависает". После перезапуска - когда снова разгребать начинает, когда снова зависает.
Не могу разобраться, в чем проблема: то ли одминов долбать, чтобы настраивали JMS сервер сам, или у меня в конфиге не то что-то...

Пример конфига листенера 1:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    <!--**********************Листнер****************************************-->
    <amq:connectionFactory id="jmsFactory" brokerURL="${iacservers.MQcreatebp}"/>
 
    <!-- конфигурмруем коннект -->
    <bean id="jmsConsumerConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory" p:targetConnectionFactory-ref="jmsFactory"/>

    <!--конфигурируем "слушатель"-->
    <bean id="jmsMessageListener" class="my.CreateBPMQListener" p:createRpLogic-ref="createRpLogic"/>
    <!--concurrency="1-40"-->
    <jms:listener-container container-type="default" connection-factory="jmsConsumerConnectionFactory" acknowledge="transacted" concurrency="1-100"> 
        <jms:listener destination="queue.rp.create.bp" ref="jmsMessageListener"/>
 
    </jms:listener-container>



Пример конфига листенера 2:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    <!--**********************Листнер****************************************-->
    <amq:connectionFactory id="jmsFactory" brokerURL="${iacservers.MQcreatebp}"/>
    
    

    <!-- конфигурмруем коннект -->
    <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
        <constructor-arg value="queue.rp.create.bp"></constructor-arg>
    </bean>

    <!--конфигурируем "слушатель"-->
    <bean id="jmsMessageListener" class="my.CreateBPMQListener" p:createRpLogic-ref="createRpLogic"/>
    
    <bean id="msgListenerContainer" 
          class="org.springframework.jms.listener.DefaultMessageListenerContainer" 
          p:connectionFactory-ref="jmsFactory"
          p:destination-ref="destination"
          p:messageListener-ref="jmsMessageListener"
          p:concurrentConsumers="10"
          p:maxConcurrentConsumers="100"
          p:receiveTimeout="5000"
          p:idleTaskExecutionLimit="10"
          p:idleConsumerLimit="5" 
    />
...
Рейтинг: 0 / 0
ActiveMQ с высокой производительностью
    #38489398
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дамп потоков смотрели? Что значть "зависает"?
...
Рейтинг: 0 / 0
ActiveMQ с высокой производительностью
    #38489405
Timoshenko Arthur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дампа нет, к сожалению. Админы по отпускам все.
Зависает - перестает реагировать на сообщения в очереди
...
Рейтинг: 0 / 0
ActiveMQ с высокой производительностью
    #38489411
Timoshenko Arthur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если использую 1й конфиг - то просто потоки висят и всё. Простаивают.
Если использую 2й конфиг - то со временем простоя потоки прибиваются, доходят до определенного количества и всё
...
Рейтинг: 0 / 0
ActiveMQ с высокой производительностью
    #38489422
Timoshenko Arthur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По сути сам листенер потом ломится на сервис сторонний, через RestTemplate
не стоит тайм-аут коннекта
Может подвисает поэтому. Попробую дописать таймаут и сообщу, что получилось
...
Рейтинг: 0 / 0
ActiveMQ с высокой производительностью
    #38489569
Timoshenko Arthur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все таки все было во времени ответа((
Удаленный сервер нас таки не отбрасывал.
Поднимался коннект и все.
Листенер выбирал количество потоков и ожидал.
Решилось все добавлением в конфигурацию RestTemplate строк
Код: xml
1.
2.
3.
4.
<bean id="clientHttpRequestFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">
    <property name="connectTimeout" value="60000" /> 
    <property name="readTimeout" value="60000" /> 
</bean>
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / ActiveMQ с высокой производительностью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]