我是 Oracle AQ 的新手。
我创建了一个表和一个队列,如下所示:
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);
然后我用Java写了一个Listener到队列。当我启动监听器时,它会等待 6 分钟,然后从队列中收集所有消息。
但我无法在 MY_QUEUE_TABLE 中分辨出哪些消息已被消费。因为我想要一个多消费者队列,所以我认为消息应该保留。但是,Oracle AQ 如何跟踪每个侦听器消费了哪些消息?