最近在忙于一个货到付款项目,两周前刚刚发布。平时下班回去就搞Xcache的服务器端,为了以后的扩展,写了一个简单的NIO框架。时间简直不够用,已经快两个月没有写博了。Xcache做完后,希望能有时间把这些设计分享出来。
本周定位了一个Spring容器中Bean初始化问题,花了两天时间,那叫痛苦啊。在处理的过程中,我就想如果有一个类似JBoss JMX Console的东西会很好。JBoss是基于JMX架构的应用服务器,JBoss JMX Console提供了管理MBean的控制台。现在J2EE轻量级开发常用Spring作为容器,需要有一个控制台去管理Spring容器中的Bean。有了这样的控制台程序可以很方便的监控到Bean的状态,有助于问题的分析和定位。
我把这个控制台起名Spring Management Console。以下图片是我做的原型。等有空把代码写出来,实现起来应该比较简单。
图一是控制台的首页,可以输入要搜索Bean的名称,点搜索后,程序就在容器中查找相应的Bean。
图二是搜索结果页面,可以看到Bean的基本信息、属性列表、方法列表,并可以继续搜索、修改属性、动态执行方法。
图三是方法执行结果页面,结果类型如果是基本类型,则直接显示结果值;结果类型如果是引用类型,则显示XML描述的对象。
控制台程序其实给服务器留了一个“后门”,所以实现的时候要考虑权限的问题,是否可以访问、是否可以搜索、是否可以动态执行等等。再多想想,Spring需要管理的东西还是很多的,比如Bean的数量、容器运行时间、异常、Bean的使用次数等等。