es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En cuanto a Spring Integration – ¿PublishSubscribeChannel y DirectChannel crean un número predeterminado de hilos?

Estoy intentando leer datos de GCP pubsub usando DirectChannel (Código de Referencia). Cuando usé directchannel con maxSubscribers ajustado a 1, 2, 5, 10 y 40, 4 hilos comenzaron a procesar mi código para cada unidad de datos proveniente de pubsub, en cada caso.

Lo mismo sucedió con PublishSubscribeChannel, donde por defecto 4 hilos comienzan a procesar los mensajes de forma paralela.

Investigué más a fondo, pero no encontré por qué siempre se inician 4 hilos, qué propiedad gobierna este comportamiento y si se puede cambiar. ¿Alguien sabe por qué ocurre esto?

FYI: Intenté el uso de ExecutorChannel proporcionando un executor personalizado, y el código se comporta como espero, de acuerdo a los parámetros que establezco.

Agrego las propiedades del sistema a continuación, por si eso juega algún papel:
Propiedades del Sistema

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que al usar DirectChannel o PublishSubscribeChannel en Spring Integration con GCP pubsub, por defecto se inician 4 hilos para procesar los mensajes entrantes en paralelo. No está claro qué propiedad gobierna este comportamiento o si se puede cambiar.

    Sin embargo, es posible utilizar ExecutorChannel con un ejecutor personalizado para controlar el número de hilos utilizados para el procesamiento de mensajes.

    También es relevante mencionar que las propiedades del sistema proporcionadas en el enlace pueden ser relevantes para este comportamiento, aunque no está claro cómo están específicamente relacionadas.

Comments are closed.