私はservicemix/camelを初めて使用し、正規表現では最高ではありませんが、どんな助けでもありがたいです。
ファイルを分割し、bindyを介して各行をクラスに変換するルートがあります。これは正常に機能します。ただし、正規表現に一致する行のみが必要です。
http://gskinner.com/RegExr/を使用して、正規表現がテストデータと一致することを確認しましたが、ルートを実行すると、すべての行が「正規表現と一致しませんでした」に移動します。
<split>
<tokenize token="\n"/>
<choice>
<when>
<!-- Regex: Matches on A, U or D followed by pipe | then ANYTHING, i.e.: A|azz454... -->
<simple>${body} regex '^[AUD]\|.*'</simple>
<unmarshal ref="bindyMasterProduct" />
<log message="OUTPUT: ${body}"/>
</when>
<otherwise>
<log message="Didnt match regex: ${body}"/>
</otherwise>
</choice>
</split>
正規表現:
^[AUD]\|.*
マッチ:
A|AZZ709256|Cheryl
禁止-一致:
Mode|Ref|Name