如何确定 AQjmsDestination 的状态?

How to determine the status of an AQjmsDestination?

我们使用 JMS 在 Java 1.8 SE 环境中处理消息,使用底层 Oracle (12) Advanced Queue。 On 可以启动一个队列,指定是否允许入队和出队使用:

(AQjmsDestination)queue.start(q_sess, true, true);

第二个参数表示是否启用入队,第三个参数表示是否启用出队。但是,如果给定一个 AQjmsDestination 对象,我看不出如何确定 Java 中是否启用了入队或出队。有人知道吗?

我找不到一种方法来进行简单的 JMS 调用来确定是否允许入队和出队。您可以使用如下查询从数据库中获取该信息:

 Select name, enqueue_enabled, dequeue_enabled from user_queues
 Where queue_type='NORMAL_QUEUE' and name = 'my_queue_name';

所以,现在,我将该查询包装在 JDBC 中以获取我需要的信息。