读书人

jacorb的通知服务消息乱序的有关问题

发布时间: 2012-11-18 10:51:21 作者: rapoo

jacorb的通知服务消息乱序的问题

我们在程序中大量的使用了JACORB的通知服务,用它来进行消息通知。不过在使用过程中发现如果消息发送的太快,在消费者一端会出现消息乱序的问题。经过返回研究,终于发现其BUG,原来是jacorb的fifo队列使用错误,它没有使用默认的消息队列,而是使用了TIME队列,即系统使用快速排序对进入队列的消息都打上了一个时间戳,然后按照时间戳采用快速排序对消息进行排序,如果消息发送的太快,自然顺序就会乱。修改了程序后一切OK。

修改如下代码?

org.jacorb.notification.queue.EventQueueFactory.java

将这段代码修改为
??????case FifoOrder.value:
????????????queue = new BoundedFifoEventQueue(maxEventsPerConsumer, _overflowStrategy);
????????????break;

?

http://blog.sina.com.cn/s/blog_5dd35a650100bv9t.html

读书人网 >软件架构设计

热点推荐