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