问题标签 [oracle-aq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2021 浏览

jms - 如何知道哪个 JMS 侦听器从队列中侦听消息?

我已经配置了 jms 队列,其中多个侦听器正在侦听同一个队列,如果我将多个对象推送到我的队列中,哪个侦听器将获取消息?是否可以保证知道哪个听众听我的信息?

0 投票
1 回答
1401 浏览

oracle - Oracle AQ 相同的消息被传递两次

我在 oracle 中创建了一个 AQ,并在 Java 中编写了 2 个 JMS 消费者来监听队列。我有时观察到,如果我在队列中产生一些消息;来自队列的出队消息的计数大于入队的消息。这意味着某些消息被消费了两次。

我创建了具有属性的队列:- multiple_consumers => FALSE

JMS 消费者正在CLIENT_ACKNOWLEDGE mode

请帮助我了解这种行为的可能原因及其解决方案。因此,我可以复制问题并解决上述问题,并确保在多个 JMS 消费者监听相同 AQ 的情况下,入队的消息数等于出队的消息数。

0 投票
1 回答
84 浏览

oracle - Querying OracleAQ views from a package in a different schema

I have an OracleAQ multiconsumer queue owned by schema A. As explained in the Oracle doc, there are some views (schema.aq$table_name*) to check the status of the queue table.

I can query these views from another schema through plain SQL or PL/SQL code, but not if this code is wrapped inside a package. The package body refuses to compile with a ORA-00942: table or view does not exist

The second schema has all the necessary rights since I can actually query the view from outside the package.

0 投票
2 回答
6136 浏览

java - 是什么导致连接到 OracleAQ 时出现此 JMS 错误?

我从正在侦听 OracleAQ 的 java 服务中收到零星错误。

它似乎每天晚上都在发生,我不确定发生了什么。真的是数据库连接问题吗?

或者“出队失败”是否表明它已连接并且发生了其他事情?

以下是例外情况:

0 投票
1 回答
7250 浏览

oracle - 如何查看 Oracle AQ 用户的所有权限

我正在尝试设置一个新的数据库用户来收听我们 OracleAQ 队列中的主题。

我有一个多年前设置的老用户,可以阅读并将消息发布到队列中。

现在我正在尝试设置一个新用户,但它似乎没有所需的所有 GRANTS。

查看每个用户拥有的 GRANTS 差异的最佳方法是什么?我试图比较它们,看看有什么不同。

例如,我如何确定这是否已被授予?

0 投票
2 回答
16600 浏览

java - 如何使用 Java 将 JMS 消息排入 Oracle AQ

我有一个队列类型为 SYS.AQ$_JMS_TEXT_MESSAGE 的 Oracle AQ。我想要做的是从java应用程序将文本插入到提到的队列中。

等效的 SQL 查询是

我使用本指南得到了大部分内容,但我被困在

该指南显示了如何将 RAW 消息排入队列,但我需要它是 JMS,否则数据类型与队列类型不匹配。

任何帮助将不胜感激,因为即使使用全能的谷歌我也无法找到解决这个问题的方法。有没有办法使用oracle.jdbc.aq类来做到这一点,还是我只需要吸收它并使用 SQL 查询?

0 投票
1 回答
330 浏览

java - 来自 Oracle AQ Java 消费者连接的频繁 SQLNet 中断错误

我们的 DBA 注意到许多 SQLNet 中断错误归因于 Oracle AQ Java 进程建立的连接,这些进程耗尽了这些队列。我在 Java 端看不到任何错误,否则它似乎工作正常。我们的方法有什么会导致这些中断吗?

这是来自数据库端的错误...使用 Oracle 版本 11.2.0.3

下面是我们如何初始化我们的 Java AQ 连接/会话...

然后使用计时器(每 15 秒),我们定期调用此块以排空队列...

我还研究了使用 onMessage() 异步回调方法,但出于各种原因,我们更喜欢这种方法......

问题 #1

尽管这是 Oracle 的 AQ 文档中引用的一个示例,而且它似乎是一种非常简单的方法,但在 Java 中是否有更稳定的消息出列方式?

问题2

另外,我想知道 CLIENT_ACK 模式是否可能是罪魁祸首......我应该明确调用message.acknowledge()还是queueSession.commit()覆盖这个?

0 投票
1 回答
1499 浏览

oracle - 甲骨文问答。是否可以更改已经在队列中的消息的延迟?

我的问题在标题中描述,消息处于等待状态,我想更改延迟日期。如果不可能,有没有办法以等待状态使消息出队?也许我可以将一些消息出列并延迟我需要的入队。

0 投票
2 回答
734 浏览

spring-jms - 使用 oracle aq 和 spring-jms 时选择过多

我们开始使用 oracle AQ 和 spring-jms 并且效果很好。但是当大约 1000 条消息通过我的队列 BUS_BILLING_RECEIVE_QT 时,我在下面写了 110000 条选择:

它会导致性能问题...可能有人知道是哪个产生了这个选择,以及如何减少这个巨大的数量?

0 投票
2 回答
2039 浏览

java - 如何将 Oracle AQ 库配置为 Wildfly 8 模块?

我目前正处于从 4.2.2GA 版本到 Wildfly 8.0.0.Final 的 JBoss 迁移项目的中间。该项目使用 Oracle OCI 驱动程序进行数据库访问并使用 Oracle AQ。现在,我启动 Wildfly,环境变量“LD_LIBRARY_PATH”设置为 OCI 本机实现所在的位置,一切正常,除了 AQ。这是我在使用 AQ API 时遇到的错误:oracle.jms.AQjmsSession.ociinit([JIIZSII)J: java.lang.UnsatisfiedLinkError: oracle.jms.AQjmsSession.ociinit([JIIZSII)J

这是我的模块:
路径:${WILDFLY_HOME}/modules/oracle/aq/api/main
内容:aqapi.jar,module.xml
module.xml:

所以现在的问题是,Wildfly 不将“LD_LIBRARY_PATH”传播到模块类加载器的原因是什么?

对于较旧的 JBoss 版本,我发现了这个问题:https://issues.jboss.org/browse/SOA-3570传播到将 aqapi.jar 放入服务器 lib 文件夹中,就像我们为 JBoss 4 所做的那样。但是我怎么能为 Wildfly 解决这个问题?有任何想法吗?

谢谢!