210.2.3. ノード ID
ターゲットノードを定義するには、namespace とノード ID が必要です。以前のバージョンでは、nodeId および namespaceUri または namespaceIndex を指定することにより、これができました。ただし、これは文字列ベースのノード ID を使用する場合にのみ許可されます。また、この設定はまだ可能ですが、新しい設定が推奨されます。
新しいアプローチは、ns=1;i =1 の形式で完全な namespace+node ID を指定し、その他のノード ID 形式(数値、GUID/UUID、不透明な形式など)を使用することも許可しています。ノード パラメーターを使用する場合は、古いパラメーターを使用しないでください。このノードフォーマットの構文は、セミコロン(;)で区切られた キーと値 のペアのセットです。
namespace と 1 つのノード ID キーのみを使用する必要があります。可能なキーについては、以下の表を参照してください。
| キー | Type | 説明 |
|---|---|---|
| ns | namespace | 数値の namespace インデックス |
| nsu | namespace | 名前空間 URI |
| s | node | string node ID |
| i | node | 数値ノード ID |
| g | node | GUID/UUID ノード ID |
| b | node | 不透明なノード ID の base64 でエンコードされた文字列 |
構文によって生成された値は URI パラメーターの値に透過的にエンコードできないため、それらをエスケープする必要があります。しかし、Camel では実際の値を RAW(…)内でラップすることができます。これにより、エスケープが不必要になります。以下に例を示します。
milo-client://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)
milo-client://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)