【发布时间】:2016-01-20 07:46:35
【问题描述】:
我们正在使用 Oracle JMS API 从高级队列读取消息。我们使用以下代码从队列中读取消息:
MessageConsumer consumer = sess.createConsumer(q);
for (Message m; (m = consumer.receive()) != null;)
{
new Timer().schedule(new QueueExample(m), 0);
}
问题是,从队列中接收到消息后,并没有完全从队列表中删除,只是将STATE字段从0更改为2。这是Oracle JMS Client的默认行为吗?在使用 consumer.receive() 方法从队列中读取消息后,我们希望从队列表中完全删除记录。什么是合适的 api 方法来做到这一点?
【问题讨论】:
标签: java oracle jms advanced-queuing