json オブジェクトが Apache-Camel コンテキスト経由で来たときに gson をフォーマットしたいと思います。私の application_context.xml 関連フィールドは次のようになります。
<camel:camelContext>
<camel:dataFormats>
<camel:json id="gson" library="Gson" unmarshalTypeName="com.pzt.blz.fraud.domain.Payment" />
</camel:dataFormats>
<camel:route>
<camel:from uri="rabbitmq::blz.service.component.fraud?autodelete=false&durable=true"/>
<camel:unmarshal ref="gson"></camel:unmarshal>
<camel:process ref="fraudProccessor"></camel:process>
<camel:marshal ref="gson"></camel:marshal>
<camel:inOnly uri="rabbitmq::blz.service.component.fraud-reply?autodelete=false&durable=true"/>
</camel:route>
</camel:camelContext>
Camel:unmarshal と Camel:marshal の部分は json をオブジェクトに、またはその逆を行っています。ただし、このファイルに次のようないくつかのプロパティを追加したいと思います。
public Gson createGson(){
return new GsonBuilder().
setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).
setPrettyPrinting().
serializeNulls().
create();
}
FieldNamingPolicy を LOWER_CASE_WITH_UNDERSCORES または LOWER_CASE_WITH_DASHES などに設定するにはどうすればよいですか...
Camelでこれをフォーマットする機会はありますか? これらの変更は、私の application_context.xml ファイルで行う必要があります。
皆様のお返事有難う御座います...