2004年
11月 J2EE应用服务器立项,阅读JMS规范
12月 收集关于JMS的OpenSource和现有的MQ产品
2005年
1月 确定分析JBossMQ,UberMQ和OpenJMS的源码
3月 总结和汇报源码分析成果,并开始对JBossMQ,WebloigMQ,SonicMQ等的测试
4月 命名J2EE应用服务器为JTang,JMS实现为JTangMQ,并开始技术设计
5月 JTangMQ设计初步完成,开始技术攻关
6月 修正JTangMQ设计,开始编码
7月 完成基本功能的代码编写,于7月14日下午调通第一个Queue消息的发送和接收;开始单元测试
8月 完成一阶段的工作,实现了p2p, p/s 的基本功能,推出JTangMQ版本1.0
9月 1.0版本的功能测试,集成测试、性能测试和压力测试;开始二阶段的编码工作
10月 完成二阶段的编码工作,增加了事务、持久化、可持续订阅、hierarchical topic等功能
11月 二阶段代码的测试,解决一些常见的bug;
12月 性能测试结果同等条件下优于JBossMQ&WeblogicMQ,但是离真正的消息中间件FioranoMQ,Tibco, SonicMQ,WebsphereMQ还有相当大的一段距离,决定重新设计服务器端的架构。
2006年
2月 设计&编码内嵌于JTang服务器的MQ的多域版本;修改了JTangMQ一些重大的bug;基于JTang app server的内嵌JTangMQ基本上能够稳定的运行。
3月 增加了derby数据库作为MQ的缺省数据库, hypersonic保留为可选的缺省数据库;对安全代码进行了全面测试。推出JTangMQ1.1版本。
4月 进行7*24小时的压力测试。重构了消息缓存以及服务器端同其交互的代码,解决了内存泄漏;解决了多并发用户下接收端突然收不到消息的bug;解决了队列模式下并发异常&消息丢失的问题;解决了Oracle、Sqlserver等数据库存取异常的问题;推出JTangMQ1.2版本
5月 修改事务的一个bug,增加可持续订阅的维护功能;对最严格的模型持久化的事务的可持续订阅进行压力测试,结果表明收发速度受到数据库存储的限制。
6月 分几次对系统进行了回归测试,发现安全部分修改不能生效、修改操作前后不一致的问题;多个可持续订阅者数据库存储冲突;对持久化消息的软引用化导致消息丢失的问题。提出了事务的改进方案。设计消息文件存储;重构消息选择器。