有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从Oracle触发器启动Java Web应用程序中的进程

在一个后端有Oracle 11g的Java Web应用程序中,我想在Oracle存储过程完成其任务后启动程序(可能是servlet)的执行

我的想法是让过程在完成作业时将一条记录插入数据库表,然后表上的触发器集启动这个Java过程

我怎样才能做到呢?如果Quartz Scheduler可以用来实现这一点,那么请提供如何实现它的指针。如果没有,我还有什么选择


共 (1) 个答案

  1. # 1 楼答案

    我过去曾使用UTL_HTTP向servlet发送请求。这有一个潜在的好处,即它很简单,您可以很容易地在数据库中记录/使用响应消息。这将需要添加一个ACL规则:http://www.oracle-base.com/articles/11g/fine-grained-access-to-network-services-11gr1.php

    您还可以启动从servlet到数据库的连接,并在触发器中使用DBMS_警报信号:http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_alert.htm这有一个潜在的好处,即它很快,并且不需要ACL规则

    最后,您可以使用触发器在某处插入一行/更新一个状态列,然后简单地让servlet在某个时间间隔进行轮询,看看它是否应该做任何工作。这是所有解决方案中最简单的一个,但实现起来没有那么优雅或有趣