

Jolokia は、JMX MBean にリモートからアクセスするための新しい方法です。JSR-160 コネクタとは異なり、エージェントベースのアプローチであり、REST スタイルの JSON over HTTP を使用して通信します。
さまざまな環境向けに、複数のエージェントが用意されています。
エージェント方式には、いくつかの利点があります。
ファイアウォールに優しい
すべての通信が HTTP 経由であるため、ファイアウォールを介したプロキシはほぼ問題になりません(JSR-160 のデフォルトモードである RMI 通信とは対照的です)。
ポリグロット(多言語対応)
クライアント側に Java のインストールは不要です。例: Jmx4Perl は、エージェントにアクセスするための豊富な Perl クライアントライブラリと Perl ベースのツールを提供します。
簡単なセットアップ
セットアップは、単純なエージェントのデプロイで完了します。対照的に、JSR-160 を介した JMX のエクスポートは非常に複雑になることがあります(ネイティブなリモート JMX 公開のセットアップについては、Weblogic と JBoss の設定に関するブログ記事を参照してください)。
さらに、JSR-160 コネクタにはない追加機能も提供します。
バルクリクエスト
JSR-160 のリモート処理とは異なり、Jolokia は単一のラウンドトリップで多数の JMX リクエストを処理できます。単一の HTTP POST リクエストがそれらのリクエストを JSON ペイロードに含め、エージェント側でディスパッチします。これらのバルクリクエストは、特に監視ソリューションにおいてパフォーマンスを大幅に向上させることができます。Nagios プラグイン check_jmx4perl は、マルチチェック機能にバルクリクエストを使用しています。
きめ細かなセキュリティ
標準の HTTP セキュリティ(SSL、HTTP 認証)に加えて、Jolokia は、クライアントの IP アドレスやサブネット、MBean 名、属性、操作などの複数のプロパティに基づくきめ細かな制限を持つカスタムポリシーをサポートしています。ポリシーは XML 形式で定義され、許可/拒否セクションとワイルドカードをサポートします。
プロキシモード
Jolokia はエージェントレスモードで動作できます。このモードでは、ターゲットプラットフォームに必要なのは、その MBeanServer の標準的な JSR-160 エクスポートだけです。プロキシはフロント側で JSON/HTTP による Jolokia リクエストを待ち受け、リモートの JSR-160 JMX 呼び出しを介してターゲットサーバーに伝播します。バルクリクエストは、プロキシ上で透過的に複数の JSR-160 リクエストにディスパッチされます。
Jolokia に関する詳細は www.jolokia.org にあります。完全な リファレンスマニュアル も含まれています。
プルリクエストによるコントリビューションを歓迎します。すべての作業は Apache Public License の下でも提供される必要があります。プルリクエストを行う前に、作業にサインオフしてください。サインオフとは、パッチの説明の最後に付ける 1 行で、あなたがそのパッチを作成したこと、またはオープンソースパッチとして提供する権利を持っていることを証明するものです。ルールは非常に簡単です。以下の内容を証明できる場合(developercertificate.org より):
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
その後、すべての git コミットメッセージに 1 行追加するだけです:
Signed-off-by: Max Morlock <[email protected]>
実名を使用してください(申し訳ありませんが、仮名や匿名のコントリビューションは受け付けられません)。
user.name と user.email の git 設定を行えば、git commit -s でコミットに自動的にサインできます。
ドキュメントの修正(タイポ、フォーマットなど)については、サインオフは必要ありません。最初に忘れてしまった場合は、後からコミットにサインすることも可能です。