Saltar al contenido principal
pdf?stylesheet=default
Blackboard Help

Mensajería de ActiveMQ

ActiveMQ se utiliza en Blackboard Learn como servicio de cola de mensajes asíncrona para proporcionar un mecanismo distribuido y resistente a los fallos para el envío de mensajes entre servidores de aplicación de equilibrado carga para su procesamiento en segundo plano de la aplicación. ActiveMQ se encuentra en el paquete de Learn y se instala automáticamente cuando se instala Learn.

ActiveMQ se instala con el puerto de comunicaciones predeterminado 61616. Todos los servidores de aplicación de la instalación especificada deben tener abierto el mismo puerto de comunicación. Si este puerto no está abierto, los servidores no son capaces de conectar con el agente ActiveMQ. Esto provoca que algunas funciones de la aplicación (por ejemplo, las fuentes de integración manual mediante la interfaz de usuario o la línea de comandos) no funcionen correctamente.

Cambio del puerto de comunicación predeterminado de ActiveMQ

Si el puerto de comunicación predeterminado de ActiveMQ no es compatible con su instalación, puede cambiarlo. Cambie el puerto de comunicaciones mediante la edición de bbconfig.messagequeue.transport.port en el archivo bb-config.properties. Si cambia el puerto en un servidor de aplicación, debe realizar el mismo cambio en todos los servidores de aplicación dentro de esa instalación. Para guardar sus cambios, debe actualizar la configuración mediante la ejecución del comando PushConfigUpdates. Esta acción reinicia los servicios.

Como este cambio debe realizarse en todos los appservers a la vez, utilice su periodo de mantenimiento programado y no con un reinicio cíclico. Para obtener más información, consulte el archivo bb-config.properties.

Resolución de nombres de host

Cada servidor de aplicación debe ser capaz de resolver el nombre de host único configurado por los demás servidores de aplicación para comunicarse con ellos. Este nombre de host se configura en bbconfig.appserver.fullhostname en el archivo bb-config.properties. Para obtener más información, consulte el archivo bb-config.properties.

Se deben poder alcanzar los hosts no solo mediante el puerto de ActiveMQ, sino que también deben comunicarse en un puerto asignado aleatoriamente y no configurable para una notificación de caché adecuada. Asegúrese de que los puertos 1024 y superiores están abiertos para la comunicación interna de los nodos a través de TCP. De lo contrario, las actualizaciones de datos almacenados en caché solo tendrán efecto en otros servidores y habrá un retraso significativo (periodo de finalización del tiempo de espera de la caché).

Eventos de registro

Los eventos relacionados con esta cola de mensajes se añaden a los archivos de registro tomcat.

Los registros del Service Pack 9 y posteriores:

/logs/tomcat/activemq.txt

Los registros del Service Pack 8 y anteriores:

/logs/tomcat/catalina-log.txt

Cómo comprobar las tablas de base de datos de ActiveMQ

  1. Abra los registros de aplicación más recientes:
    • /logs/tomcat/activemq.txt
    • /logs/tomcat/catalina-log.txt
    • blackboard/logs/tomcat/stdout-stderr-TIMESTAMP.log
  2. Compruebe que no contienen entradas de error que indican la corrupción del almacén de datos de ActiveMQ, como:

    org.apache.kahadb.journal.Journal - Se han encontrado registros del diario corruptos

  3. Si la corrupción es evidente, continúe con los pasos siguientes.
    1. Detenga los servicios en todos los servidores de aplicaciones, incluido el servidor de colaboración y cualquier JVM independiente como la herramienta de instantáneas, archivo por lotes y tareas de sistema en segundo plano.
    2. Elimine (o cambie el nombre) de la carpeta /content/vi/bb_bb60/activemq/messageQueueService/kaha para activar la recreación las tablas temporales de ActiveMQ.

    3. Inicie los servicios en todos los servidores de aplicación.