Я использую Spring WebServiceTemplate в качестве клиента веб-службы программно, то есть без создания контейнера Spring. Я использую Jaxb2Marshaller для маршалинга / демаршалинга. В моем приложении я создаю один экземпляр SaajSoapMessageFactory и один экземпляр Jaxb2Marshaller. Я также создаю один экземпляр WebServiceTemplate и назначаю ранее созданные экземпляры SaajSoapMessageFactory и Jaxb2Marshaller.
Созданный мной WebServiceTemplate используется многопоточным способом, т.е. несколько потоков могут вызывать marshalSendAndReceive в одно и то же время. Мой вопрос - мой поток конфигурации безопасен? Я обеспокоен Jaxb2Marshaller. Javadoc говорит, что Jaxb2Marshallers не обязательно безопасны для потоков. Как я могу использовать Jaxb2Marshaller потокобезопасным способом без повторной инициализации контекста Jaxb?
В качестве отступления: если посмотреть на пример конфигурации spring-ws в ссылке на источник , я могу поверить, что Jaxb2Marshaller потокобезопасен, но Javadoc, кажется, противоречит этому.