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
选项具有安全影响。例如,如果标头包含不受信任的或用户派生内容,这最终会影响您的结束应用程序的自信性和完整性,因此请谨慎使用这个选项。