¿Cuál es la razón por la que activemq anula el método de caducidad del mensaje pero no el método messageExpired? Soy
1. Persistencia como archivo
ActiveMQ admite este método de forma predeterminada, siempre que configure el mensaje para que sea persistente al enviarlo.
Abra el archivo de configuración en el directorio de instalación:
d:\ActiveMQ\Apache-ActiveMQ\conf\ActiveMQ. XML encontró el elemento de configuración predeterminado después de la línea 80:
ltPersistence Adaptergt
ltkah ADB directorio="${ActiveMQ.data}/kah ADB"/gt.
lt/persistence adaptor gt;
Tenga en cuenta que aquí se utiliza kahaDB, que es una memoria de mensajes basada en archivos que admite transacciones y es un mensaje confiable, de alto rendimiento y expandible. memoria.
Su intención original es utilizarlo de forma rápida y sencilla. Los índices de KahaDB utilizan registros de transacciones y solo se utiliza un índice para todos los destinos. Algunas pruebas muestran que si se usa en un entorno de producción, admite 10.000 conexiones activas con una cola independiente para cada conexión. Este rendimiento es suficiente para satisfacer la mayoría de las necesidades.
Luego cambie el segundo parámetro a:
MsgDeliveryMode. Persistente
Hay dos formas de guardar mensajes.
Persistente: Guardado en el disco, el mensaje se elimina después de que el consumidor lo consume.
NON_PERSISTENT: Guardar en la memoria, el mensaje se borrará después del consumo.
Nota: Acumular demasiados mensajes puede provocar un desbordamiento de la memoria.
Luego abra el generador y envíe un mensaje:
wps30F4.tmp
No inicie el consumidor y visualícelo en la interfaz de administración:
wps3105.tmp
Encontré un mensaje en espera. En este momento, si no hay persistencia, este mensaje se perderá cuando se reinicie ActiveMQ, pero ahora lo modificamos para que el archivo sea persistente y el consumidor aún puede recibir este mensaje después de reiniciar ActiveMQ.
wps3106.tmp