Я использую Spring Integration 2.0 с приведенной ниже конфигурацией компонента для ThreadPoolTaskExecutor.
<bean id="MyTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" destroy-method="destroy" >
<property name="corePoolSize" value="25" />
<property name="maxPoolSize" value="25" />
<property name="queueCapacity" value="0" />
</bean>
Я начинаю видеть следующее сообщение об ошибке в журнале приложения. Необходимо понять, что происходит в ThreadPoolTaskExecutor.
05-Mar-2020 11:34:36,389 | ERROR | | | | | | | [org.springframework.integration.channel.MessagePublishingErrorHandler:handleError:100] | failure occurred in messaging task
org.springframework.core.task.TaskRejectedException: Executor [java.util.concurrent.ThreadPoolExecutor@40102708[Running, pool size = 25, active threads = 25, queued tasks = 0, completed tasks = 13487163]] did not accept task: org.springframework.integration.util.ErrorHandlingTaskExecutor$1@5de60ad1
at org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.execute(ThreadPoolTaskExecutor.java:244)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:49)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.run(AbstractPollingEndpoint.java:174)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:51)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.RejectedExecutionException: Task org.springframework.integration.util.ErrorHandlingTaskExecutor$1@5de60ad1 rejected from java.util.concurrent.ThreadPoolExecutor@40102709[Running, pool size = 25, active threads = 25, queued tasks = 0, completed tasks = 13487163]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369)
at org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.execute(ThreadPoolTaskExecutor.java:241)
... 11 more
Может кто-нибудь определить причину этого?