http://blog.csdn.net/as339000204/article/details/45390727

 
 

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

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

实现

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

[sql] 
  1. create or replace and compile java source named jxdClient as
  2. import java.net.*;
  3. public class Demo {
  4. public static void main(String[] args) {
  5. try {
  6. URL url = new URL("http://192.168.12.57:8088/Jfinaltest/show");
  7. URLConnection rulConnection = url.openConnection();
  8. rulConnection.connect();
  9. rulConnection.getInputStream();
  10. } catch (Exception e) {
  11. e.printStackTrace();
  12. }
  13. }
  14. }

2. 生成存储过程

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

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

[sql] 
  1. create or replace trigger jxd7_trigger_wf_nodeinstance
  2. after update or insert
  3. on jxd7_wf_nodeinstance
  4. for each row
  5. begin
  6. if inserting then
  7. prc_hehe;
  8. elsif updating then
  9. prc_hehe;
  10. elsif deleting then
  11. prc_hehe;
  12. end if;
  13. end;

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

最新文章

  1. BZOJ1527 : [POI2005]Pun-point
  2. Spring学习记录(十一)---使用注解和自动装配
  3. animate支持的css属性
  4. PHP一般情况下生成的缩略图都比较不理想
  5. 20145218 《Java程序设计》第三周学习总结
  6. Ext.Net学习笔记08:Ext.Net中使用数据
  7. route命令详解与使用实例
  8. NSOutputStream\NSInputStream
  9. Farpoint Spread 常用事件
  10. [HNOI 2015]亚瑟王
  11. Sql知识点总结
  12. java数组的声明、创建和遍历
  13. linux下允许和禁止root远程登录的方法
  14. meta标签使用方法总结
  15. Bash Shebang 小结
  16. calc() --- css3
  17. 基于JSP的RSS阅读器的设计与实现
  18. 2017-2018-1 20155226 《信息安全系统设计基础》课下实践——实现mypwd
  19. 【Android开发日记】之入门篇(七)——Android数据存储(上)
  20. for(j=0,i=0;j

热门文章

  1. jQuery瀑布流插件 Masonry
  2. VMware12激活码,win10激活码
  3. Tiny4412 虚拟机交叉编译环境的设置以及编译u-boot 和 kernel
  4. jQuery插件开发全解析<转>
  5. 常见的装包的三种宝,包 bao-devel bao-utils bao-agent ,包 开发包 工具包 客户端
  6. 关于Cocos2d-x开发一个游戏的过程自述
  7. IIS故障问题(Connections_Refused)分析及处理【转】
  8. c# windows service(服务)
  9. mysql的优化基础知识
  10. MathType与Office公式编辑器有什么不同