论坛首页 Java企业应用论坛

Java实时获取oracle变更

浏览 19637 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-12-17  
这个,,不就是传说中的listener的概念么?
0 请登录后投票
   发表时间:2008-12-17   最后修改:2008-12-17
发了两次,x...
0 请登录后投票
   发表时间:2008-12-17  
嘿,类似的需求在sql2000上做过
0 请登录后投票
   发表时间:2008-12-19  
方法一,是轮询数据库

 while (true) {  
         message = subscriber.receive();//receive方法使没有新消息时,线程挂起  
      //do something...  
 }  


岂不是轮询消息队列吗?
0 请登录后投票
   发表时间:2008-12-19  
大开眼界,强悍
0 请登录后投票
   发表时间:2008-12-19   最后修改:2008-12-19
skywalkers 写道
方法一,是轮询数据库

 while (true) {  
         message = subscriber.receive();//receive方法使没有新消息时,线程挂起  
      //do something...  
 }  


岂不是轮询消息队列吗?



我这里使用while(true) 只是出于演示的目的,是最简单的方式,但和普通的轮询数据库还是有区别的: 假设说现在没有消息,这个方法不会返回,而是一直等待,直到有新的消息到来时才返回,这个等待时间甚至可以长达数小时,数天。


而且有许多其他的方式,例如使用MDB
0 请登录后投票
   发表时间:2008-12-22   最后修改:2008-12-22
想问下,关于消息队列的,资源争用的,用楼主你这个方法可以解决吗?
比如说,消息到达,然后被一个消费者采用之后,被另一个消费者又用了一次?



0 请登录后投票
   发表时间:2008-12-22  
skywalkers 写道
想问下,关于消息队列的,资源争用的,用楼主你这个方法可以解决吗?
比如说,消息到达,然后被一个消费者采用之后,被另一个消费者又用了一次?





关于消费方式,是完全遵照JMS规范而来的
0 请登录后投票
   发表时间:2008-12-23  
>>为什么不在入库前,多做一步顺便扔到JMS队列里?
>>岂不是更简单?

觉得还是不要与前端程序耦合太深
LZ这个技术可以和ajax的反转技术结合起来,起到自动报警的作用,即当满足某个条件时服务器端自动的把信息推送到前台报警
0 请登录后投票
   发表时间:2008-12-23  
強悍,學習了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics