Cómo saber en Oracle AQ qué mensajes se han consumido de una cola de consumo múltiples

StackOverflow https://stackoverflow.com/questions/4272454

  •  28-09-2019
  •  | 
  •  

Pregunta

Soy nuevo en Oracle AQ.

He creado una mesa y una cola de esta manera:

EXEC dbms_aqadm.create_queue_table(queue_table=>'MY_QUEUE_TABLE',
                                   queue_payload_type=>'sys.aq$_jms_text_message',
                                   multiple_consumers=>TRUE);

EXEC dbms_aqadm.create_queue(queue_name=>'CONTACT_INFO_QUEUE',
                             queue_table=>'MY_QUEUE_TABLE',
                             max_retries=>24,
                             retry_delay=>60,
                             retention_time=>3600);

Luego me escribió una oyente a la cola en Java. Cuando comienzo del proceso de escucha, espera a 6 minutos y luego recoge todos los mensajes de la cola.

Pero no puedo decir en MY_QUEUE_TABLE qué mensajes se han consumido. Porque quiero una cola de consumo múltiples, creo que los mensajes deben quedarse. Sin embargo, ¿cómo pista Oracle AQ torreón de los mensajes que cada oyente ha consumido?

¿Fue útil?

Solución

Cada cola hará un seguimiento y garantizar que todos los consumidores se han quitado de la cola. Se puede ver en la tabla de cola real para ver cuántos consumidores han consumido un mensaje. Compruebe aq $ _my_queue_table y aq $ _my_queue_table_I para ver el estado de los mensajes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top