700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java监控表变化_关于实时监控oracle数据库表数据变化的设计与实现

java监控表变化_关于实时监控oracle数据库表数据变化的设计与实现

时间:2023-01-27 03:56:14

相关推荐

java监控表变化_关于实时监控oracle数据库表数据变化的设计与实现

近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是在程序中创建定时器,轮询表。鉴于程序冗余考虑,百度知:oracle数据库java存储过程。Oracle数据库有执行简单java代码的能力,想到一套新的解决思路。

思路:创建oracle数据库触发器,当表的数据发生变化的时候,触发器调用oracle数据库java存储过程,该过程调用程序中的接口,告知程序处理逻辑业务。

实现:

1.在plsqldev 中编译java代码 调用接口(具体的语法百度即可) 访问地址是:http://192.168.12.57:8088/Jfinaltest/show

create or replace and compile java source named jxdClient as

import .*;

public class Demo {

public static void main(String[] args) {

try {

URL url = new URL("http://192.168.12.57:8088/Jfinaltest/show");

URLConnection rulConnection = url.openConnection();

rulConnection.connect();

rulConnection.getInputStream();

} catch (Exception e) {

e.printStackTrace();

}

}

}

2.生成存储过程

create or replace procedure prc_hehe as language java name 'Demo.main(java.lang.String[])';

3. 编写触发器调用存储过程(pre_hehe)

create or replace trigger jxd7_trigger_wf_nodeinstance

after update or insert

on jxd7_wf_nodeinstance

for each row

begin

if inserting then

prc_hehe;

elsif updating then

prc_hehe;

elsif deleting then

prc_hehe;

end if;

end;

小结:每次表中的数据发生变化的时候,都会执行触发器中的存储过程,存储过程会调用程序的接口,之后程序处理业务逻辑。减少了代码量,保证了数据处理的实时性,减少了程序的压力

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。