170.3. Camel での JMX のアクティブ化
Camel 2.8 以前に必要な Spring JAR 依存関係
spring-context.jar
、spring-aop.jar
、spring-beans.jar
、および spring-core.jar
は、JMX インストルメンテーションを使用できるように Camel によってクラスパスに必要です。これらの .jar がクラスパス上にない場合、Camel は非 JMX モードにフォールバックします。この状況は、ロガー名 org.apache.camel.impl.DefaultCamelContext
を使用して WARN
レベルでログに記録されます。
Camel 2.9 以降では、Spring JAR は Camel を JMX モードで実行することが 不要 になりました。
170.3.1. JMX を使用した Apache Camel の管理
デフォルトでは、JMX インストルメンテーションエージェントは Camel で有効になっています。つまり、Camel ランタイムは仮想マシンの MBeanServer
インスタンスで MBean 管理オブジェクトを作成し、登録します。これにより、Camel ユーザーは Camel ルートが個別のプロセッサーレベルにダウンする方法に関する洞察をすぐに取得できます。
サポートされる管理オブジェクトは エンドポイント、ルート、サービス、および プロセッサー です。これらの管理オブジェクトの一部は、パフォーマンスカウンター属性の他にライフサイクル操作も公開します。
DefaultManagementNamingStrategy
は、MBean 登録に使用されるオブジェクト名をビルドするデフォルトの命名ストラテジーです。デフォルトでは、org.apache.camel
は CamelNamingStrategy
によって作成されるすべてのオブジェクト名のドメイン名です。MBean オブジェクトのドメイン名は、Java VM システムプロパティーで設定できます。
-Dorg.apache.camel.jmx.mbeanObjectDomainName=your.domain.name
または、Spring 設定の camelContext 要素内に jmxAgent
要素を追加します。
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="agent" mbeanObjectDomainName="your.domain.name"/> ... </camelContext>
Spring 設定は、両方が存在する場合は常にシステムプロパティーよりも優先されます。これは、すべての JMX 関連の設定で該当します。