现在有个需求,使用了oracle通知服务,当出现指定的数据时,oracle发起通知,调用java程序向web前段发送消息,希望各位大虾提供些思路。oracle里面调用java程序能直接调用发布在tomcat里面的某一个类的一个方法吗?
现在希望是走最短路径,能直接调用java程序,不想通过先调用java的rest服务,然后rest服务调用指定的方法,最后在望前端发消息这样的步骤,感觉效率不够高。

解决方案 »

  1.   

    我感觉让oracle让操作某一数据表,用JAVA监听数据表,根据数据表的变动来进行相关操作更方便些。
      

  2.   

    www.xzaccp.com
    www.jbedu.com.cn
    www.zbaccp.cn
    www.xzaccp.cn
    www.bdqn-xsh.com
    www.bdqn-xsh.cn
      

  3.   

    1楼的想法我以前不是没有过,只是有些特殊原因不能用这样的方式,因为这个项目监控的表数据量非常大,一年能有3亿条数据,一般都要保留两年的数据,也就是6亿条数据,还一个原因就是这个表 新增数据的频率太高了,平均每秒6-7条数据,频率高的时候1秒能新增1000条数据;而且对实时性要求非常高。 交管的项目,所有的监控点都在向这个表插数据,而且某一个点一旦发现一些数据(比如套牌车)时必须马上给出响应,如果隔很长一段时间才提示这个功能就没有任何意义了。java监听总不能每秒去读一次数据库的数据吧,而且这个数据的数据还是海量数据。
      

  4.   

    “当出现指定的数据时”
    不一定要oracle来通知,出现指定数据时,如果是程序行为,则可以要求这个程序通知java
      

  5.   


    java在什么情况下能及时的知道数据库中“出现指定的数据时”,这个问题很关键。
    还得强调一点,不能用java不停的查数据库,因为这个表非常的大。