java - Oracle AQ java实现enque/deque
问题描述
过去几天,我一直在互联网上搜索任何正在运行的 Oracle 高级队列示例实现,用于消息的 enque/deque,但没有任何成功。
我试图遵循规范中提到的 oracle 文档,但对我来说还不清楚。
它没有任何关于公开可用的依赖项(maven/gradle)的信息。[我知道我需要使用aqapi.jar ]。与我正在使用的 jdbc 驱动程序兼容的任何特定版本。
我也在为此使用 c3p0 连接池,并为 c3p0 寻找开箱即用的AQSession支持,以避免从代码角度进行连接和会话处理。
注意:队列表和队列已经从数据库层设置。我只是想为消息委托编写一个生产者/消费者。我们正在使用 oracle 12c 和 Java 11。
任何类型的信息将不胜感激。
解决方案
您只需要 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 仅用于“创建队列”、“启动队列”等管理目的。否则您不需要它。
推荐阅读
- css - 有没有办法在禁用时从角度垫表单字段中删除边框?
- groovy - Jmeter - 常规功能无法按预期工作
- r - 从两个向量中采样时不可重现的引导置信区间
- asp.net-core - dotnetcore asp 理解不一致的可访问性
- python - 如何在 discord.py 上创建舞台频道
- apache-spark - Spark:最终写入和下一阶段之间的差距超过一分钟
- regex - 正则表达式删除除最后一个以外的所有零
- ruby-on-rails - Rails:Shopify 应用程序订单创建 webhook 作业未执行
- c - 为什么我的代码在使用 C 的 Number of Islands 问题中没有输出正确的岛数?
- excel-formula - 需要宏在单元格中写入公式而不是答案(输出)