Java Thymeleaf |是TemplateEngine.process线程安全操作吗?
我使用Java Thymeleaf |是TemplateEngine.process线程安全操作吗?,java,multithreading,thread-safety,thymeleaf,Java,Multithreading,Thread Safety,Thymeleaf,我使用thymeleaf模板引擎来构建对SOAP服务的请求。执行发送的类如下所示: import java.io.StringReader; import java.util.*; import javax.xml.transform.stream.*; import org.springframework.ws.client.core.WebServiceTemplate; import org.thymeleaf.*; import org.thymeleaf.context.*; im
thymeleaf
模板引擎来构建对SOAP服务的请求。执行发送的类如下所示:
import java.io.StringReader;
import java.util.*;
import javax.xml.transform.stream.*;
import org.springframework.ws.client.core.WebServiceTemplate;
import org.thymeleaf.*;
import org.thymeleaf.context.*;
import org.thymeleaf.templateresolver.*;
public class SomeService
{
private final TemplateEngine templateEngine;
private final WebServiceTemplate webServiceTemplate;
public RetrieveServiceThymeleafBased() {
webServiceTemplate = new WebServiceTemplate();
webServiceTemplate.setDefaultUri("http://some.path/to/soap/service");
ITemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateEngine = new TemplateEngine();
templateEngine.addTemplateResolver(templateResolver);
}
public void sendMessage(String orderNumber) {
Context params = new Context();
params.setVariable("CreateDateTime", new Date());
params.setVariable("GUID", UUID.randomUUID());
String xmlContent = templateEngine.process("template.xml", params);
StreamSource source = new StreamSource(new StringReader(xmlContent));
StreamResult result = new StreamResult(System.out);
webServiceTemplate.sendSourceAndReceiveToResult(source, result);
}
}
我知道webServiceTemplate.sendSourceAndReceiveToResult是线程安全操作,但我找不到有关templateEngine.process
问题:templateEngine.process
是否为线程安全操作是的TemplateEngine
对象设计用于高度并发的环境中,不会出现问题(我希望!;)
免责声明,根据StackOverflow规则:我是Thymeleaf的作者。很高兴听到这个消息,但是,由于Thymeleaf和Spring是一个非常复杂的交织体,事情发生了-。。。。因此,要小心在javadoc中留下一个小评论。这是我寻找线程安全/并发的第一个信息。有人提到实例化是昂贵的。下一个想法是“使用单例”下一个想法是“线程安全”。。。