0

过去几天,我一直在互联网上搜索任何正在运行的 Oracle 高级队列示例实现,用于消息的 enque/deque,但没有任何成功。

我试图遵循规范中提到的 oracle 文档,但对我来说还不清楚。

  • 它没有任何关于公开可用的依赖项(maven/gradle)的信息。[我知道我需要使用aqapi.jar ]。与我正在使用的 jdbc 驱动程序兼容的任何特定版本。

  • 我也在为此使用 c3p0 连接池,并为 c3p0 寻找开箱即用的AQSession支持,以避免从代码角度进行连接和会话处理。

注意:队列表和队列已经从数据库层设置。我只是想为消息委托编写一个生产者/消费者。我们正在使用 oracle 12c 和 Java 11。

任何类型的信息将不胜感激。

4

1 回答 1

1

您只需要 Oracle JDBC 瘦驱动程序 (ojdbc) 来执行 AQ 操作,例如入队或出队。有关 API 的更多详细信息,请参阅Oracle JDBC Javadoc。还请在 stackoverflow 上查看其他问题以获取一些代码示例: How to enqueue on Oracle AQ table on commit with Java and consume with a JMS client

请注意,您有两个选择:a) 直接使用 AQ API 或 b) 如果您想改用 JMS API,则使用 AQ-JMS。

aqapi.jar 仅用于“创建队列”、“启动队列”等管理目的。否则您不需要它。

于 2020-03-28T09:43:24.960 回答