@jqZJO73rWyVIEzOOの技術ブログ

何ができるか

流れてきた FlowFile に対し、groovy で処理を行うことができるプロセッサ。
Content の中身だったり、勿論 Attribute の取得、格納なども可能。

どんな時に使うか

基本的な処理はプロセッサで行うことができるが、もしややこしい処理を行いたいときなどはこれを使う。

どう設定するか

基本的には後述する [Script Body] のみの設定で問題ない。
以下プロパティ一覧。

Script Body:
名前の通りだが、script を記載する項目。
基本的には直接記載する形で良いと思う。
もしべた書きが嫌だとか、そういう場合は次の項目。

Script File:
こちらは先程とは違い、script ファイルの場所を指定し、実行する項目。
前述の通り、直接記載するのは…という方は、ファイルとしてどこかに格納し、こちらの項目を用いると良いか。

Failure strategy:
以下の2項目が設定可能。
・rollback
・transfer to failure
処理失敗時にどう処理するか、という設定。
前者は実行前に戻して再実施。後者は失敗(failure)に流す。
rollback を選択してしまうと単純にスクリプト自体がおかしい時は延々と処理し続けてしまうので基本的には後者を選択すると良い。
※ rollback して失敗に流すって項目があればいいのにと思うのだけど、それはスクリプトでよろしくやれってことなのだろうか…

Additional classpath:
追加したいクラスパスがあればここに追加する。
jar ファイルだとかそういったものを活用したい場合はこちらを設定。

わからないこと

rollback の使い道が謎なままなんだよなぁ…。
rollback して2回目だったら失敗にシフトする、みたいな書き方できればいいんだけどスクリプトってそんなふうに値の保持ってできるのか…?

本プロセッサ内でのスクリプトの扱いに関しては以前 Qiita で書いたものがあるのでそちらをどうぞ。
executeGroovyScript で FlowFile が NULL だった時の対応
ざっくりなので一度まとめなおそうかなとも思っていますが、今回はここまで。

このログへのコメント

コメントはありません