私の場合は次のようなものです。郵便番号に基づいてメッセージを 3 つの異なる店舗にルーティングする必要があります。
そのためには、メッセージ ヘッダーを調べて顧客の郵便番号を見つけ、次の計算を行う必要があります。
if(zip < 5000)
{
store = "SJ";
}
else if(zip >= 6000)
{
store = "JY";
}
else
{
store = "FY";
}
メッセージヘッダーを充実させるために使用する次のカスタムトランスフォーマーを使用して、なんとかそれを成し遂げました:
public class HeaderEnricher {
public Message<?> transform(Message<?> message)
{
int zip = message.getHeaders().get("Customer Zip", Integer.class);
String store;
if (zip < 5000)
{
store = "SJ";
}
else if (zip >= 6000)
{
store = "JY";
}
else
{
store = "FY";
}
Message<?> messageOut = MessageBuilder
.withPayload(message.getPayload())
.copyHeadersIfAbsent(message.getHeaders())
.setHeaderIfAbsent("store", store).build();
return messageOut;
}
}
私が言ったように、これは機能していますが、ヘッダーエンリッチャーを使用して同じことを行う方法を考えていました. 上記のトランスフォーマーコードでの私の意図であるため、統合グラフでヘッダーエンリッチャーとして説明したいので、私は尋ねています。
それは可能ですか?