我们在程序中大量的使用了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
分享到:
相关推荐
【标题】"JacORB2.1.zip"是一个包含JacORB相关组件的压缩包,用于解决在使用Ant构建...通过这个压缩包,你可以获得JacORB的完整组件,从而解决Ant在执行过程中可能出现的依赖问题,实现Java应用与远程CORBA服务的交互。
** JacORB 简介** JacORB 是一个开源的 Java Object Request Broker...而关于 CXF 的文档则有助于解决在高端应用服务器上部署服务时可能遇到的问题。这些资料对于提升 Java 开发者的技术水平和解决问题的能力大有裨益。
JacORB支持CORBA的最新版本,包括IIOP(Internet Inter-ORB Protocol)以及多种高级特性,如动态代理、事件服务、NFS(Naming and Directory Service)等。 ** CORBA 技术详解 ** CORBA 是一种分布式计算模型,它...
- JacORB 可以作为一个独立的服务运行,也可以嵌入到应用程序中作为 ORB 服务。 - 开发者需要配置 JacORB 的服务器端和客户端,定义ORB、POA 和对象引用,然后利用 IDL 生成的 Java 类进行编程。 - JacORB 支持...
4. **丰富的功能**:JacORB支持IIOP(Internet Inter-ORB Protocol)、GIOP(General Inter-ORB Protocol)、动态调度、事件服务、 Naming Service、交易服务、安全性等功能。 5. **易用性**:提供直观的API和工具...
5. **事件和服务**:讨论CORBA事件模型以及JacORB提供的各种服务,如Naming Service和Trading Service。 6. **异常处理**:说明如何处理ORB和CORBA操作中可能出现的异常。 7. **性能和调试**:提供优化技巧和调试...
- **JMS集成**:通过CORBA的GIOP协议,JacORB可以与Java消息服务(JMS)结合,实现消息驱动的分布式应用。 - **Web服务集成**:可以通过JacORB的WS-IF支持,将CORBA对象暴露为Web服务,或者消费Web服务。 ### 6. ...
- **初始引用**:定义了 JacORB 启动时可用的服务地址,如命名服务。 - **Acceptor Exception Event Plugin**:处理接收器异常事件的插件配置。 - **Codesets**:定义了 JacORB 处理字符集的方式。 - **Compacting ...
JacORB提供这些服务的实现,使得开发者可以方便地利用这些服务构建分布式应用。 3. **动态代理**:JacORB可能支持动态代理,允许在运行时创建和操作接口,增加了灵活性和代码的可扩展性。 4. **ORB集成**:JacORB...
**jacorb-3.7 源码版详解** **一、 JacORB 概述** JacORB 是一个开源的 Java Object Request Broker (ORB),它实现了 CORBA(Common Object Request Broker Architecture)标准,允许不同计算机上的分布式对象进行...
5. **examples** 目录:可能会包含一些示例程序,演示了如何使用JacORB创建和运行CORBA服务和客户端。这些示例对于初学者来说非常有价值,可以帮助快速上手。 6. **src** 或 **src.zip**(如果存在):可能包含项目...
jacORB提供了一个强大的命名服务,用于管理对象的引用。通过命名服务,开发者可以构建命名空间层次结构,方便地定位和访问远程对象。此外,JacORB还提供了一个名为NameManager的图形用户界面工具,简化了命名服务的...
JacORB是Java的一个开源实现,它实现了CORBA的标准,提供了ORB(Object Request Broker)服务,使Java开发者能够利用CORBA技术。 MyEclipse和Eclipse是两种流行的Java集成开发环境,它们为开发者提供了丰富的功能,...
我们可以总结出JacORB编程涉及到的关键知识点包括:CORBA标准的Java实现,通过IDL定义分布式对象接口,编写客户端和服务器端代码以及进行对象调用,JacORB的配置和管理,以及如何使用JacORB提供的命名服务和实现仓库...
这使得开发者可以使用CORBA的标准接口定义来设计服务,然后通过JacORB的编译器生成对应的Java类,这些类可以被Java应用所使用。 ** 使用步骤 ** 1. **安装 JacORB**:解压下载的JacORB-2.2.3压缩包,配置环境变量...
- 测试过程中,如果遇到任何问题,请检查环境变量是否设置正确,以及 Eclipse 中的相关配置是否正确无误。 - 服务端与客户端之间的通信依赖于 JacORB 的配置,确保所有配置均已完成且正确。 通过以上步骤,您可以在...
**运行名称服务器**:JacORB提供了名称服务,用于管理和查找ORB中的对象引用。名称服务器是一个独立的进程,必须先于任何客户端或服务器启动。 **访问名称服务**:客户端可以通过名称服务查询和绑定对象引用,这...
JacORB的安装 添加JACORB_HOME C:\jacorb-2.3.1 修改CLASSPATH为 .;%JAVA_HOME%\jre\lib;%JACORB_HOME%\lib\antlr-2.7.2.jar; %JACORB_HOME%\lib\backport-util-concurrent.jar;%JACORB_HOME%\lib\idl.jar; %JACORB_...
CORBA是一种中间件标准,由OMG(Object Management Group)制定,旨在解决不同操作系统、编程语言和网络环境下的分布式应用程序之间的互操作性问题。它定义了一种标准接口,允许对象像在同一个进程中一样相互调用,...
提供jacorb.jar包的下载,中间件corba的jacorb实现jar包