178.5. Xstream DataFormat のタイプパーミッションの設定
Camel では、ルートで独自の処理ステップを常に使用して、特定の XML ドキュメントをフィルタリングしてブロックし、XStream のアンマーシャリング手順にルーティングすることができます。Camel 2.16.1 から 2.15.5 より、 XStream のタイプパーミッション を設定して、特定タイプのインスタンス化を自動的に許可または拒否できます。
Camel によって使用されるデフォルトのタイプパーミッション設定は、java.lang パッケージおよび java.util パッケージ以外のすべてのタイプを拒否します。この設定は、システムプロパティー org.apache.camel.xstream.permissions を設定することで変更できます。この値は、それぞれが '' のプレフィックスが ''(省略可能)か「-」の接頭辞があるかどうかに応じて、許可または拒否される型を表すカンマ区切りのパーミッション用語の文字列です。
各用語にはワイルドカード文字 '' を含めることができます。たとえば、値 "-,java.lang.,java.util." は、java.lang.* クラスおよび java.util.* クラス以外のすべてのタイプを拒否します。この値を空の文字列 "" に設定すると、特定のブラックリスト化されたクラスを拒否し、その他のクラスを許可するデフォルトの XStream のタイプパーミッション処理に戻ります。
タイプパーミッション設定は、タイプパーミッションプロパティーを設定して、個別の XStream DataFormat インスタンスで拡張できます。
<dataFormats>
<xstream id="xstream-default"
permissions="org.apache.camel.samples.xstream.*"/>
...