Thymeleaf | TemplateEngine.Process est-il un fonctionnement en filetage?
-
21-12-2019 - |
Question
j'utilise thymeleaf
moteur de modèles pour créer une demande au service SOAP.La classe qui effectue l'envoi ressemble à ceci :
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);
}
}
Je sais que webServiceTemplate.sendSourceAndReceiveToResult
- est un fonctionnement thread-safe, mais je ne trouve pas ce genre d'informations sur templateEngine.process
Question :Est templateEngine.process
une opération thread-safe ou non
La solution
Oui c'est le cas. TemplateEngine
les objets sont conçus pour être utilisés sans problème dans des environnements hautement simultanés (j'espère !;)).
Avis de non-responsabilité, selon les règles de StackOverflow :Je suis l'auteur de Thymeleaf.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow