本人面临的问题是这样的:在修改某个table中的数据时需要通知运行在另一台server上的java application.目前想采用的solution是利用oracle trigger,在数据被更改时触发,并在trigger中调用一个java program通知其他applications. 請問如果需要在java存儲過程中通知运行在另一台app server上的java application,有什麽可行的solutions?我目前考慮的solution:在java存儲過程中通過發送Tibco RV message通知外部應用,但如果要在Oracle JVM中initialize Tibco, 需要用到JNI,而Oracle JVM不支持JNI,而且可能會導致安全和損壞數據。請問各位高手有沒有建議,或者可以提供其他解決方案?緊急,非常感謝阿!

解决方案 »

  1.   

    不一定被动地等通知啊,在另一台的app server上写一个java任务主动扫描不行吗?
    如果不能直接连接数据库,可以将表中数据导出,通过FTP上传,然后再定时处理也可以。
      

  2.   

    database driven,好像还没有这么强大。这个功能老早想要了,但是没有做到过。
      

  3.   

    另一台server上的java application 这个APPLICATION的独立的数据库服务器?
    可以通过数据库的DBLINK ,往另外server的数据库中插入数据触发TRRIGER,这样就和本地一样了
    不知道我的理解对不?
      

  4.   

    tangren:如果通過Java主動掃描,通常是隔一段時間(例如幾分鈡)才掃描一次,這樣會有延遲的情況,我更希望能夠數據庫中數據的update能夠即時被外部應用獲悉。java3344520:另一台server上的是J2EE應用,不是數據庫。(即一台Oracle服務器,一台J2EE服務器)請各位大蝦不吝賜教啊,謝謝啦
      

  5.   

    之前用过SQL SERVER发UDP包,以及TCP包,
    ORACLE应该也可以吧,你的应用程序开个UDP接口,这样就可以及时接收了
      

  6.   

    在数据库中发UDP/TCP包,似乎偏底层了一点,没有这方面的经验,而且有包丢失的可能吧?
      

  7.   

    TCP丢失包会重发啊,ORACLE的监听也是建立在TCP基础上的啊,难道ORACLE通信经常出现问题>?
      

  8.   

    非常感谢java3344520,起得真早啊,呵呵.请问有没有范例代码可以参考?