我正在考虑使用Oracle Advanced Queuing技术进行异步通信。我的目标是将它用于并发进程执行(异步PL / SQL过程调用)。
并发进程执行的当前遗留实现由Unix KornShell(ksh)脚本构成,我们从后端通过后台模式的SSH连接开始。它适用于我们,但我对这种解决方案不满意,因为:
通过从ksh迁移到数据库,我将能够提高系统的整体质量:
您如何看待我的考虑因素以及您使用Oracle Advanced Queuing的经历?特别是在稳定性,性能和维护方面?还有更好的选择吗?
答案 0 :(得分:2)
我显然不知道你的项目的细节,但如果异步PL / SQL过程调用是你唯一的目标,那么使用DBMS_SCHEDULER可能更容易。您的程序可以通过调用PL / SQL的调度程序将作业提交到“立即运行”。在我看来,调度程序比AQ更容易使用。
答案 1 :(得分:2)
使用异步队列管理流程Oracle带来了优点和缺点:
优点
劣势
我认为一个好的解决方案是在尾部ORACLE上使用CODE JMS(JMS提供程序),以便在JAVA上移动BL并使用包括Logging在内的语言的各种潜力。