设计JMX MBean有哪些最佳实践?您觉得哪些例子特别有用?
答案 0 :(得分:6)
返回绝对值而不是率。例如返回db提交的总数,而不是导出一个速率。
通过这样做,您的客户可以在他们需要的任何时间段内自行监控和获取费率。也许更重要的是,如果它们不经常连接,这可以保护客户免受费率上涨的冲击。
如果您主要通过HTML界面使用JMX bean,那么我会遵循几种做法。下面通常意味着您的JMX bean应该包装一个现有的bean(而不仅仅是JMX暴露现有的方法):
toString()
输出可以是无用的trim()
删除空格等。)以上内容将重点从简单通过JMX公开的bean转移到接近可用管理控制台的位置。
答案 1 :(得分:4)
第一件让我使用我的第一个JMX bean的是返回类型 - 如果你的方法返回字符串会更容易 - 这样你的客户端就可以轻松地显示响应(我主要使用JConsole) - 如果你不喜欢做到这一点,你得到com.mycompany.Response@xxxx这样的回复,这并不意味着:)
答案 2 :(得分:3)
确保属性没有副作用,并且在操作中是可预测的。
没有什么比执行耗时(或资源消耗)操作的无辜外观属性更糟糕的了。我在我的时间里见过一些蠢货..
答案 3 :(得分:1)
不要使用JMX进行日志记录,例如,不要使用MBean函数返回自启动以来所有连接的详细信息。
应该记住,JMX用于监控。含义 - 仅显示与当前时刻相关的数据。