38.2. 設定
AWS XRay トレーサーの設定プロパティーは次のとおりです。
| オプション | デフォルト | 説明 | 
|---|---|---|
| addExcludePatterns | 
 | パターンに一致する Camel メッセージのトレースを無効にする除外パターンを設定します。コンテンツは Set<String> で、キーは routeId に一致するパターンです。このパターンは Intercept のルールを使用します。 | 
| setTracingStrategy | NoopTracingStrategy | 
								 | 
現在、Camel アプリケーションの分散トレースを提供するように AWS XRay トレーサーを設定できる方法は 1 つだけです。
38.2.1. Explicit
					AWS XRay Tracer に関連付けられた特定の依存関係とともに、camel-aws-xray コンポーネントを POM に含めます。
				
					AWS XRay サポートを明示的に設定するには、XRayTracer をインスタンス化し、camel コンテキストを初期化します。オプションで Tracer を指定することも、代わりに Registry または ServiceLoader を使用して暗黙的に検出することもできます。
				
XRayTracer xrayTracer = new XRayTracer(); // By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation. xrayTracer.setTracingStrategy(...); // And then initialize the context xrayTracer.init(camelContext);
XRayTracer xrayTracer = new XRayTracer();
// By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation.
xrayTracer.setTracingStrategy(...);
// And then initialize the context
xrayTracer.init(camelContext);XML で XRayTracer を使用するには、AWS XRay トレーサー Bean を定義するだけです。Camel はそれを自動的に検出して使用します。
  <bean id="tracingStrategy" class="..."/>
  <bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" />
    <property name="tracer" ref="tracingStrategy"/>
  </bean>
  <bean id="tracingStrategy" class="..."/>
  <bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" />
    <property name="tracer" ref="tracingStrategy"/>
  </bean>
					デフォルトの NoopTracingStrategy の場合、エクスチェンジの作成と削除のみが追跡されますが、特定の Bean または EIP パターンの呼び出しは追跡されません。
				
38.2.2. 包括的なルート実行の追跡
複数のルート間でのエクスチェンジの実行を追跡するために、エクスチェンジの作成時に一意のトレース ID が生成され、対応する値がまだ使用できない場合はヘッダーに格納されます。このトレース ID は、処理された交換の一貫したビューを維持するために、新しいエクスチェンジにコピーされます。
					AWS XRay トレースはスレッドローカルベースで機能するため、現在のサブ/セグメントを新しいスレッドにコピーし、AWS XRay のドキュメント で説明されているように設定する必要があります。したがって、Camel AWS XRay コンポーネントは、渡された AWS XRay Entity を新しいスレッドに設定するためにコンポーネントが使用する追加のヘッダーフィールドを提供し、実行されたどのルートとも無関係に見える新しいセグメントを公開するのではなく、ルートへの追跡データを保持します。
				
コンポーネントは、エクスチェンジのヘッダーにある次の定数を使用します。
| Header | 説明 | 
|---|---|
| Camel-AWS-XRay-Trace-ID | 
									呼び出されたルートの包括的なビューを提供する AWS XRay  | 
| Camel-AWS-XRay-Trace-Entity | 
									新しいスレッドにコピーされる実際の AWS XRay  | 
					AWS XRay Entity (つまり、Segment と Subsegment) はシリアル化できないため、他の JVM プロセスに渡すべきではないことに注意してください。