Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.このコンテンツは選択した言語では利用できません。
Chapter 101. StringTemplate
String Template リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
The string-template: component allows you to process a message using a String Template. This can be ideal when using Templating to generate responses for requests.
Maven users will need to add the following dependency to their
pom.xml
for this component:
URI format リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
string-template:templateName[?options]
string-template:templateName[?options]
Where templateName is the classpath-local URI of the template to invoke; or the complete URL of the remote template.
You can append query options to the URI in the following format,
?option=value&option=value&...
Options リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Option | Default | Description |
---|---|---|
contentCache
|
false
|
Cache for the resource content when its loaded. Note : as of Camel 2.9 cached resource content can be cleared via JMX using the endpoint's clearContentCache operation.
|
Headers リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Apache Camel will store a reference to the resource in the message header with key,
org.apache.camel.stringtemplate.resource
. The Resource is an org.springframework.core.io.Resource
object.
Hot reloading リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
The string template resource is by default hot-reloadable for both file and classpath resources (expanded jar). If you set
contentCache=true
, Apache Camel loads the resource only once and hot-reloading is not possible. This scenario can be used in production when the resource never changes.
StringTemplate Attributes リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Apache Camel will provide exchange information as attributes (just a
java.util.Map
) to the string template. The Exchange is transfered as:
key | value |
---|---|
exchange
|
The Exchange itself. |
headers
|
The headers of the In message. |
camelContext
|
The Camel Context. |
request
|
The In message. |
in
|
The In message. |
body
|
The In message body. |
out
|
The Out message (only for InOut message exchange pattern). |
response
|
The Out message (only for InOut message exchange pattern). |
Samples リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
For example you could use a string template as follows in order to formulate a response to a message:
from("activemq:My.Queue"). to("string-template:com/acme/MyResponse.tm");
from("activemq:My.Queue").
to("string-template:com/acme/MyResponse.tm");
The Email Sample リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
In this sample we want to use a string template to send an order confirmation email. The email template is laid out in
StringTemplate
as:
And the java code is as follows: