Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-5974

camel-jms: Make ThreadPoolTaskExecutor the default Task Executor

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.10.4, 2.11.0
    • camel-jms
    • None
    • Unknown

    Description

      DefaultJmsMessageListenerContainer uses org.springframework.core.task.SimpleAsyncTaskExecutor as the default task executor.

      This causes a lot of thread thrash when setting a positive idleTaskExecutionLimit. New threads are created every time the consumers are refreshed, i.e. closed down and started again to keep the minimum number of them around (= concurrentConsumers).

      Replace with org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor instead, with the following config:

      • corePoolSize = concurrentConsumers
      • maxPoolSize = maxConcurrentConsumers

      Attachments

        Activity

          People

            raulvk Raúl Kripalani
            raulvk Raúl Kripalani
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: