60.10. 스키마 검증
CloudEventB 데이터 형식은 from/to XML을 마샬링 및 마샬링 해제하여 유효성 검사를 지원합니다. classpath:, file: 또는 http 접두사를 사용하여 리소스를 해결하는 방법을 지정할 수 있습니다. ',' 문자를 사용하여 여러 스키마 파일을 분리할 수 있습니다.
Java DSL을 사용하여 다음과 같은 방식으로 구성할 수 있습니다.
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat(); jaxbDataFormat.setContextPath(Person.class.getPackage().getName()); jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
XML DSL을 사용하여 동일한 작업을 수행할 수 있습니다.
<marshal> <jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"/> </marshal>
<marshal>
<jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"/>
</marshal>
Camel은 JDK와 함께 제공되는 SchemaFactory
가 스레드로부터 안전하지 않기 때문에 실행 시 underling SchemaFactory
인스턴스를 생성하고 풀링합니다.
그러나 스레드로부터 안전한 SchemaFactory
구현이 있는 경우 이 형식을 사용하도록 CloudEventB 데이터 형식을 구성할 수 있습니다.
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat(); jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);