问题标签 [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 投票
1 回答
292 浏览

oracle - 用于与 Oracle AQ 交互的自定义​​ WCF 绑定?

任何人都知道使用 WCF 与 Oracle AQ(高级队列)交互的任何好的示例/资源,甚至可能是自定义绑定?

谢谢。

0 投票
1 回答
2392 浏览

java - 使用 JMS 从 Oracle AQ 收到的 TextMessage 只包含“???”

我需要连接到不同数据库中的两个 Oracle AQ 队列。在这两种情况下,我都使用完全相同的代码,当然连接字符串除外。其中一个队列工作正常,但第二个队列不行。

当我使用代码连接到运行良好的 AQ 时,它会正确打印消息中包含的文本。无论消息包含什么,第二个 AQ 只打印三个引号。

我正在使用 aqapi 10.2.0.2,并且我已经使用 ojdbc14 10.2.0.2.0 和 ojdbc5 11.1.0.6.0 进行了测试。正在运行的 AQ 正在 Oracle 11.1.0.0.0 上运行,而导致问题的 AQ 在 10.2.0.4.0 上运行。我用 Wireshark 分析了 TNS 数据包,包含 AQ 消息的数据包在两个数据库中看起来非常相似。

工作案例的 TextMessage 对象的反射转储如下所示:

还有一个坏的:

0 投票
3 回答
1875 浏览

oracle - Oracle AQ/Streams 在我的情况下有用吗?

我正在编写一个工作流系统,该系统在每一步都完全由明确的人机交互驱动。也就是说,将任务分配给一个人,该人从几个有限的选项中进行选择{批准,拒绝,转发},然后将其发送给下一个人或终止。

只是好奇 Oracle Streams/AQ 是否可以提供由常规 Web 应用程序代码管理的平面表所提供的任何东西。每个动作之后的处理量是相当有限的,而且处理量也不是很高,因此实际上不需要通过将它们放入队列来限制它们。引入队列结构有什么好处,或者对我的情况来说它是不是有点矫枉过正?

0 投票
2 回答
18226 浏览

database - 在启动时启动 oracle dequeue

我收到以下 Oracle 错误,

以下是官方文档中的原因和操作:

但是每次重启数据库时都会出现这个错误,是否有任何配置设置在数据库启动时启动dequeue?

谢谢!

0 投票
1 回答
1340 浏览

transactions - 有谁知道这些 Oracle AQ JMS XA 属性的作用?

我在 Websphere App Server 中通过 JMS 使用 Oracle 高级队列。

有谁知道以下两个属性有什么影响:-

我在一些博客和快速入门指南中看到过,通常是在“将 -Doracle.jms.useEmulatedXA=false -Doracle.jms.useNativeXA=true 添加到 JAVA_PROPERTIES 变量”的句子中,没有任何解释它们的含义做:-

例如

我很好奇这两个属性实际上做了什么,以及设置它们的含义是什么,即使它们似乎对我们的应用程序没有任何影响,无论我们是否设置它们。

谷歌搜索没有给出任何答案,有没有人知道他们实际上在做什么?

0 投票
2 回答
2703 浏览

oracle - Oracle Advanced Queuing 中不相关消息的选择性出队

这个问题是指Oracle Streams Advanced Queuing中的消息出列。

我需要确保按顺序处理彼此相关的消息。

例如,假设队列中包含四个消息,这些消息具有称为事务引用 (txn_ref) 的业务相关字段,并且其中两个消息 (1,3) 属于同一事务 (000001):

还假设我正在运行 4 个希望从该队列中出列的线程/进程。应发生以下情况:

  1. 线程 1 出列消息 #1
  2. 线程 2 出列消息 #2
  3. 线程 3 将消息 #4 出列(因为消息 #3 与 #1 相关,而 #1 尚未完成)。
  4. 线程 4 块等待消息
  5. 线程 1 提交消息 #1 的工作
  6. 线程 4(或者线程 1)使消息 #3 出列。

我最初的想法是,我可以通过出列条件来实现这一点,其中 ENQ_TIME(入队时间)不晚于具有相同 TXN_REF 的所有消息的任何其他 ENQ_TIME。但我的问题是如何引用我尚未选择的消息的 TXN_REF 以便选择它。例如

有可能在这里实现我想要的吗?

0 投票
1 回答
568 浏览

delphi - Delphi ODAC:从 Oracle AQ 中剖析 JMS 消息

我正在尝试评估 ODAC 以使用 Oracle AQ。请求队列包含这样的 JMS 对象(但没有换行符和其他空格):

我可以接收底层对象(字符串 Payload 作为空字符串返回,但 TOraObject PayLoad 包含数据)。

我正在尝试剖析 TOraObject PayLoad,并且正在寻找一个将 DataType 值转换为正确的 AttrXxxx[Name] 属性调用的表。

通过反复试验,我到目前为止:

欢迎提供更完整的列表:-)

在此之后,我需要研究另一种方式:生成正确的 TOraObject,其中包含 JMS 内容。也欢迎提供相关提示。

——杰伦

0 投票
2 回答
76815 浏览

oracle - 如何在 Oracle AQ 中清除队列

我是第一次测试 Oracle AQ。我设法在我创建的队列中创建了 2000 行测试插入。

现在,我想清除这些。在自学时,我将到期时间设置为一个月。我不能等那么久。而且我认为我不应该将它们从队列表中删除。

最好的方法是什么?

0 投票
1 回答
2214 浏览

oracle - 如何在 Oracle AQ 中判断哪些消息已从多个消费者队列中消费

我是 Oracle AQ 的新手。

我创建了一个表和一个队列,如下所示:

然后我用Java写了一个Listener到队列。当我启动监听器时,它会等待 6 分钟,然后从队列中收集所有消息。

但我无法在 MY_QUEUE_TABLE 中分辨出哪些消息已被消费。因为我想要一个多消费者队列,所以我认为消息应该保留。但是,Oracle AQ 如何跟踪每个侦听器消费了哪些消息?

0 投票
1 回答
3451 浏览

oracle - 为什么我的 Oracle AQ 使用多消费者队列时速度如此之慢

Oracle AQ 的新手,但它似乎真的让我正在从事的项目变得容易。

我想创建一个包含多个持久订阅者的队列,但我在测试中发现,一旦有 2 个订阅者在收听,一切都会变慢。

当我有一个订阅者收听时,一切都很快。我在队列中创建新消息,几乎立即它们被听众消费。

然后我从另一台服务器添加另一个监听器。甲骨文立即放慢了速度。在队列中创建一条消息需要 60 多秒。该消息直到几分钟后才会被使用。

我想知道,当队列是多消费者时,是否有更多的开销?只有在服务器启动时才会产生这种开销吗?还是会一直存在?

我使用单消费者队列进行了第二次测试,没有遇到这些问题。

也许我在侦听器配置中做错了什么?

这就是我设置队列表的方式:

这是我的配置: