53.2. Avro 데이터 형식 사용
avro 데이터 형식을 사용하는 것은 라우팅에서 마샬링하거나 마샬링할 클래스를 지정하는 것만큼 쉽습니다.
AvroDataFormat format = new AvroDataFormat(Value.SCHEMA$);
from("direct:in").marshal(format).to("direct:marshal");
from("direct:back").unmarshal(format).to("direct:unmarshal");
여기서 Value는 Avro Maven 플러그인 생성 클래스입니다.
또는 XML로
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:in"/>
<marshal>
<avro instanceClass="org.apache.camel.dataformat.avro.Message"/>
</marshal>
<to uri="log:out"/>
</route>
</camelContext>
대안은 컨텍스트 내에서 dataformat을 지정하고 경로에서 참조할 수 있습니다.
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<avro id="avro" instanceClass="org.apache.camel.dataformat.avro.Message"/>
</dataFormats>
<route>
<from uri="direct:in"/>
<marshal><custom ref="avro"/></marshal>
<to uri="log:out"/>
</route>
</camelContext>
같은 방식으로 avro 데이터 형식을 사용하여 umarshal을 사용할 수 있습니다.