设计JMX MBean有哪些最佳实践?您觉得哪些例子特别有用?
返回绝对计数而不是费率.例如,返回db提交的总数,而不是导出速率.
通过这样做,您的客户可以在他们需要的任何时间段内自行监控和获取费率.也许更重要的是,如果它们不经常连接,这可以保护客户免受费率上涨的影响.
如果您主要通过HTML界面使用JMX bean,那么我会遵循几种做法.下面通常意味着您的JMX bean应该包装一个现有的bean(而不仅仅是JMX暴露现有的方法):
输出格式正确的字符串表示返回的对 获取默认toString()
输出可能是无用的
捕获并显示异常.否则,您可能会得到一个空白页面,并且必须转到日志文件以确定出现了什么问题
如果你显示不同的字符集,你可能必须适当地转义输出以防止显示问题(我遇到了显示我们的中文数据的JMX控件)
暴露方法的输入应该正确消毒(例如,如果您输入id作为操作的一部分,您可能希望trim()
它删除空格等)
上面的内容将重点从简单地通过JMX暴露的bean转移到接近可用管理控制台的东西.