Oracle AQ enque/deque java 实现

问题描述 投票:0回答:1

过去几天我一直在互联网上搜索用于消息入队/双端队列的 Oracle Advanced Queue 的任何正在运行的示例实现,但没有取得任何成功。

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

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

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

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

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

java oracle-database oracle12c ojdbc advanced-queuing
1个回答
0
投票

您只需要 Oracle JDBC 瘦驱动程序 (ojdbc) 即可执行 AQ 操作,例如入队或出队。有关 API 的更多详细信息,请参阅 Oracle JDBC Javadoc。另请查看 stackoverflow 上的其他问题以获取一些代码示例: 如何使用 Java 在提交时在 Oracle AQ 表上排队并使用 JMS 客户端使用

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

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

更新:从 21c 开始,您可以使用 AQ 批处理 API 进行入队或出队。有关更多详细信息,请参阅 Oracle JDBC Javadoc

© www.soinside.com 2019 - 2024. All rights reserved.