问题标签 [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.
oracle - JMS 和 Oracle AQ
任何人都可以向我指出一些示例 Java 代码,这些代码向我展示了如何在 Oracle AQ 队列上进行监听?
谢谢达米安
xml - 从触发器到高级队列的具有空值的 Oracle XMLType 生成
下午好。
我一直在使用 Oracle Advanced Queues 创建一个消息传递系统,我们可以使用它来确定何时将新行传递到数据库中、何时发生更新以及何时发生删除。
我正在使用单个消费者队列并使用相关性来控制在特定时间查找哪些数据,并且我的有效负载是 xmltype。
为了生成 xml,我最初是使用 xmlsequence 来生成消息,如下所示。
然而,我注意到 xmlsequence 遗漏了空元素,这并不理想,因为当消息在另一端被拾取时,它们不能轻易地映射到数据字段。为了尝试解决这个问题,我尝试在触发器中使用 DBMS_XMLGEN,因为它允许以我希望的方式处理空值。
这种方法的问题是它会产生一个异常,因为它试图对执行触发器的同一个表进行操作。
所以我继续尝试使用新旧对象来获取数据并将其放入上下文中,但是我遇到了一些值为空的小问题,因为它们对我的连接造成了严重破坏将它们放入查询字符串中。
所以我的问题是:我该如何解决这个问题,以便我可以看到我的 xml 类型的空元素?
我也愿意接受有关如何解决它的建议,并将检查是否有任何澄清请求。
java - WebSphere:替代已弃用的方法 WSJdbcUtil.getNativeConnection
我在 WAS 中使用 Oracle AQ。它需要一个 OracleConnection 实例才能工作。目前我正在通过不推荐使用的方法获取连接WSJdbcUtil.getNativeConnection
这种方法是否有不被弃用的替代方法?
(ps,代码示例是 scala,但这个问题标记为 java,因为它与 WAS Java API 有关)。
spring - Oracle Streams AQ。session.getQueue 抛出 AQOracleSQLException:用尽的结果集
在多线程/多应用程序环境中使用 Oracle Streams AQ,我AQOracleSQLException
仅在一个线程中运行约 10 分钟后收到:Exhausted Resultsset。
通过AQOracleSession
Spring 汇集如下:
使用工厂方法createAQSession
(在 Scala 中):
异常是从 this 块的最后一行抛出的:
显然,我不是直接处理ResultSet
used within AQOracleSession
。
我正在使用与Connection
关联的Session
,但这直到稍后在相同的方法中,所以这里不能出错:
池配置是否可能不正确并且同一会话上有一些并发操作?其他日志中没有任何异常。
oracle - 如何在 OracleAQ 队列上将 max_retries 设置为无限制
我在 OracleAQ 中设置了一个队列。如果我正确理解设置,此配置将在删除消息之前每小时尝试 168 小时:
如何将 max_retries 设置为无限制?似乎 0 的值永远不会重试,而且我没有看到任何关于如何设置为无限制的文档。有没有办法,或者我只需要使用一个大数字?
jms - 如何在 JBoss AS 下创建一个侦听 Oracle AQ 队列的 MDB?
我需要在 JBoss AS 5.1 下运行的 Java EE 应用程序中监听 Oracle AQ 队列。
我设法使用 Oracle 的 JMS 客户端库创建了一个常规的 JMS 客户端,但由于这是一个 Java EE 应用程序,我真的很想使用 MDB。
我真的找不到任何关于此的文档,也找不到让我使用 JCA 执行此操作的资源适配器。
谁能告诉我要让它工作需要什么?
java - 使用 TransactionManager 使用 Spring JmsTemplate 编写消息
使用 Spring-JMS,可以通过DefaultMessageListenerContainer在外部事务上下文中接收消息。
但是,编写消息的唯一记录方式是 via JmsTemplate.send(…)
,我看不出如何强制它使用给定的TransactionManager
.
谁能指出我正确的方向?
更多信息:确保事务管理器可用 ( WebSphereUowTransactionManager
),JmsTemplate.write
针对 Oracle使用AQjmsFactory.getQueueConnectionFactory(dataSource)
会导致:
因此,虽然我没有理由怀疑下面的建议,但我无法对其进行测试,因为我无法弄清楚如何让 AQ JMS 不尝试提交。当我了解更多信息时会更新。
c - 在 OCIAQDeq() 中使用 NULL 指针
在OCIAQDeq()的文档中,它指出:
应用程序可以选择在第一次调用 OCIAQDeq() 时为有效负载传递 NULL,并让 OCI 为有效负载分配内存。然后,它可以在后续调用 OCIAQDeq() 时使用指向先前分配的内存的指针。
有没有人有一个如何使用这个功能的例子?如果我传入NULL
,我随后从哪里获得指针?谢谢!
jms - 使用 Weblogic 10.3.4、JMS 和/或 Spring 从 Oracle AQ 出列数据?
有人知道这样做的好例子吗?似乎 Weblogic 中有很多管理控制台配置(外国 JNDI 提供者?)来实现这一点。我是 Spring 的新手,但也许它简化了一些事情?这应该是 MDB 还是 WebService - 这是更好的做法?
jms - MDB 通过数据源连接到 Oracle AQ
我试图创建一个连接到 Oracle AD 队列的 MDB (JBoss AS 6)。
我得到了以下示例:
问题是我需要直接在代码中指定连接属性(包括数据库主机、用户名和密码)。有谁知道从 jndi 查找中使用数据源的方法?
谢谢