论文部分内容阅读
政府项目一般具有规模大,工期长,信息敏感,时效性强等特点,以此为背景的项目需要具备高安全性,快速传递,日志备份,数据恢复,异常处理等性能。经过多方论证和长时间的调研,河北中信联信息技术有限公司根据河北省政府公文交换项目的实际需要,以及成本、时间、人员等因素的考虑,最终选定在ActiveMQ消息中间件的基础上对原系统进行升级更新,并加以改造。而在此基础之上开发的一套接口UniwinMQ,不仅具备ActiveMQ的全部优良特性,而且还加强了其扩展性,易用性,灵活性等特点,非常便于程序员对其进行二次开发。它是一个开发Jar包,uniwinmq-2.3.1.jar是它的最新版本。文章分析了JMS和Apache ActiveMQ的技术背景与工作原理,比较了目前市场上主要流行的开源消息中间件Apache ActiveMQ和商业消息中间件IBM Websphere MQ,设计研发了基于ActiveMQ基础上的开发工具包UniwinMQ,并详细阐述了其设计架构,开发流程,主要实现的功能,对外开放的接口,以及如何使用和配置这套开发工具包。该开发包已经应用于省政府的公文交换系统中,并取得了良好的经济效益。UniwinMQ的主要实现功能如下:1.异步消息传输,UniwinMQ对于消息的发送与接收主要采用异步传输方式,同时预留了同步传输的接口方法,并对大文件的处理进行了实现。2.消息回执,主要分为三种回执:ActiveMQ内部回执、程序回执与业务回执。回执机制有助于程序二次开发时进行封装、排错以及消息确认。3.消息预处理,这是根据中信联公司开发的一套特有接口,用户在传输消息前可以对消息进行预处理。比如发送之前可以先对消息进行加密、压缩等操作,而在接收消息时可以预先进行对称的解密、解压缩等操作。UniwinMQ没有对这部分功能进行具体实现,而是对外提供了接口和配置文件以供程序员进行实际开发和配置。4.消息持久化,主从备份,通知等ActiveMQ的高级功能。这些在UniwinMQ中都有相应的配置入口,这些配置基本都是在程序外部完成,有效地降低了与主程序的耦合度。5.消息推送,提供了类似股票消息发布、微信关注等发布/订阅功能的方法,而且其实现机制由轮询变为监听模式。