110.8. Samples
예를 들어 다음과 같은 것을 사용할 수 있습니다.
from("activemq:My.Queue"). to("freemarker:com/acme/MyResponse.ftl");
Freemarker 템플릿을 사용하여 InOut 메시지 교환( JMSReplyTo
헤더가 있는 경우)에 대한 응답을 공식화합니다.
InOnly를 사용하고 메시지를 사용하고 다른 대상으로 보내려면 다음을 사용할 수 있습니다.
from("activemq:My.Queue"). to("freemarker:com/acme/MyResponse.ftl"). to("activemq:Another.Queue");
그리고 콘텐츠 캐시를 비활성화하려면(예: .ftl
템플릿을 핫로드해야 하는 개발 용도)
from("activemq:My.Queue"). to("freemarker:com/acme/MyResponse.ftl?contentCache=false"). to("activemq:Another.Queue");
파일 기반 리소스:
from("activemq:My.Queue"). to("freemarker:file://myfolder/MyResponse.ftl?contentCache=false"). to("activemq:Another.Queue");
Camel 2.1 에서는 구성 요소가 헤더를 통해 동적으로 사용해야 하는 템플릿을 지정할 수 있습니다. 예를 들면 다음과 같습니다.
from("direct:in"). setHeader(FreemarkerConstants.FREEMARKER_RESOURCE_URI).constant("path/to/my/template.ftl"). to("freemarker:dummy?allowTemplateFromHeader=true");
주의
allowTemplateFromHeader
옵션을 활성화하면 보안 증가가 있습니다. 예를 들어 헤더에 신뢰할 수 없는 또는 사용자 파생 콘텐츠가 포함된 경우 궁극적으로 최종 애플리케이션의 신뢰성과 무결성에 영향을 미칠 수 있으므로 이 옵션을 주의해서 사용하십시오.