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.

Productor de ActiveMQ esperando indefinidamente por una conexión válida.

Estamos enfrentando un problema al producir mensaje a un broker ActiveMQ 5.15.4. El hilo que intenta producir el mensaje está bloqueado indefinidamente:

Hilo 464: (estado = BLOQUEADO)
- java.lang.Object.wait(long) @bci=0 (Trama compilada; la información puede ser imprecisa)
- org.apache.activemq.transport.failover.FailoverTransport.oneway(java.lang.Object) @bci=370, línea=620 (Trama compilada)
- org.apache.activemq.transport.MutexTransport.oneway(java.lang.Object) @bci=12, línea=68 (Trama interpretada)

Parece que el objeto FailoverTransport está esperando obtener una conexión válida (objeto de transporte no nulo), pero la tarea de reconexión nunca se inicia.

¿Alguna idea de cómo podemos llegar a esa situación y cómo solucionarla?

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que el FailoverTransport no puede establecer una conexión válida con el broker y está esperando indefinidamente que se establezca la conexión. Puede haber múltiples razones para este problema:

    • Problemas de conectividad del broker: Verificar si el broker está activo y no hay problemas de conectividad de red entre el productor y el broker.
    • Problemas de configuración de ActiveMQ: Verificar si la configuración de ActiveMQ es correcta y todos los atributos requeridos están configurados correctamente. Verificar si el broker acepta la conexión desde el productor.
    • Limitaciones de recursos: Verificar si los recursos del sistema, como la CPU y la memoria, no están agotados, lo que podría llevar a que los hilos estén bloqueados.

    Para solucionar este problema, puede intentar lo siguiente:

    • Verificar la configuración de ActiveMQ y asegurarse de que todos los atributos requeridos estén configurados correctamente. Verificar los registros para ver si hay errores relacionados con la configuración.
    • Revisar el código y asegurarse de que el objeto FailoverTransport esté configurado correctamente y que las configuraciones de conexión sean correctas.
    • Verificar si hay limitaciones de recursos (CPU, memoria) en el sistema e intentar aumentar los límites.
    • También puede intentar actualizar ActiveMQ a la última versión, ya que podría contener una solución para este problema.

    Si ninguno de los pasos anteriores funciona, recopilar más detalles, como registros, detalles de configuración y métricas del sistema, y contactar a la comunidad o al equipo de soporte de ActiveMQ para obtener más ayuda.

Comments are closed.