Esta noticia ha sido aprobado por nuestros especialistas así se asegura la exactitud de nuestro tutorial.
Solución:
ThreadPoolTaskExecutor
es una clase de Spring Framework. Por otra parte Executors::newFixedThreadPool
crea un estándar ThreadPoolExecutor
grupo de subprocesos que proviene de Java estándar y está disponible desde Java 5.
De los documentos de ThreadPoolTaskExecutor:
JavaBean que permite configurar un
ThreadPoolExecutor
en estilo bean (a través de sus propiedades “corePoolSize”, “maxPoolSize”, “keepAliveSeconds”, “queueCapacity”) y exponiéndolo como SpringTaskExecutor
.….
Esta clase implementa Spring
TaskExecutor
interfaz, así como laExecutor
interfaz, siendo la primera la interfaz principal, la otra solo sirve como conveniencia secundaria. Por esta razón, el manejo de excepciones sigue elTaskExecutor
contrato en lugar delExecutor
contrato, en particular con respecto a laTaskRejectedException
.
Darse cuenta de ThreadPoolTaskExecutor
implementa muchas interfaces Spring como Aware
, BeanNameAware
, DisposableBean
, InitializingBean
lo que hace que sea más fácil trabajar con un pool como Spring bean.
También eche un vistazo a la respuesta de Karol Dowbecki que señala correctamente las diferencias en los parámetros de esos grupos.
En tu ejemplo Spring’s ThreadPoolTaskExecutor
creará un ThreadPoolExecutor
con corePoolSize
de 50, maxPoolSize
de Integer.MAX_VALUE
y keepAlive
de 60 segundos.
Mientras tanto Executors.newFixedThreadPool(50)
establecerá ambos corePoolSize
y maxPoolSize
a 50 y keepAlive
de 0 segundos (ver código fuente de Java).
Si te ha resultado de provecho nuestro post, te agradeceríamos que lo compartas con más programadores de esta forma nos ayudas a dar difusión a nuestro contenido.