2009-03-31 10 views

答えて

6

レートの代わりに絶対数を返します。例えば率を導出するのではなく、dbコミットの総数を返します。

このようにすると、クライアントは、必要な期間に渡って料金を監視して得ることができます。おそらくもっと重要なことに、これは、接続頻度が低い場合にクライアントの料金が逃げないように保護します。

主にHTMLインターフェイス経由でJMX Beanを使用している場合、私が従ういくつかのプラクティスがあります。以下のことが多い(単に既存の方法をJMXは、さらすとは対照的に)あなたのJMX Beanは、既存のBeanをラップする必要があることを意味します

  1. 出力適切にフォーマットされた文字列が返されたオブジェクトを表します。デフォルトのtoString()出力を得ることは無用の隣にあります。
  2. 例外のキャプチャと表示。それ以外の場合は、空白のページが表示され、何が間違っているかを判断するためにログファイルに移動する必要があります。
  3. 異なる文字セットを表示している場合は、表示の問題を防ぐために出力を適切にエスケープする必要がありますこれは、当社の中国のデータを表示するJMXコントロール)で公開されたメソッドへ
  4. 入力は、あなたが入力操作の一環として、idはあなたがtrim()したいことがあれば(例えば、それは)空白など取り除くために、適切に消毒されなければならない

上記は、単にJMXを介して公開されたBeanから、使用可能な管理コンソールに近づくように強調しています。

4

私の最初のJMX Beanで私を得た最初のものは戻り値型でした。メソッドがStringsを返すと、クライアントが応答を簡単に表示できるようになりました(JConsoleを中心に作業していました)これをしないと、応答として[email protected]のようなものが得られます。それほど意味はありません:)

+2

プリミティブとストリングを返すように修正します。そうすれば、数値を正しくログに記録できます(解析不要) –

3

アトリビュートに副作用がなく、動作上予測可能であることを確認してください。

時間のかかる(またはリソースを消費する)操作を実行する無害な属性よりも悪いことはありません。私は私の時間にいくつかのhumdingersを見たことがあります。

+0

あなたが気に入っているMBeanの例は、うまく設計された素晴らしい例ですか? – McGovernTheory

+1

私は標準的な豆の多くを使用しないことを告白する必要があります。私が実装しているものはカウンタ、データテーブルなどの傾向があります。シンプリシティが本当に重要です。あなたの聴衆にも左右されます。技術サポート(開発者ではない)のためにMBeanを設計していますので、複雑にしないようにしてください! – Fortyrunner

1

例えば、起動後のすべての接続の詳細を返すMBean関数を使わないでください。

JMXは監視を目的としています。意味 - 現在の瞬間に関連するデータのみを表示します。

関連する問題