我们有很多可以用来连接的soap服务,每次第一次连接到同一个服务都需要花费大量时间从集成开始,随后的请求会迅速减少60%的响应时间。
解析JAXB绑定初始化
@Configuration
public interface WSCommons {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
@Bean
static Jaxb2Marshaller jaxb2Marshaller() {
marshaller.setPackagesToScan("com.abc");
return marshaller;
}
}
这需要大量的第一个请求来扫描所有内容并创建编组器。
但,
一旦 Bean 被初始化,它就可以快速处理少量请求。当服务流空闲一段时间并且请求再次开始流动时,MarshallingWebServiceOutboundGateway 滞后非常糟糕。
Jaxb2Marshaller 是静态的,在这种情况下它应该停止重新初始化。
任何输入表示赞赏,可能在初始化时做错了。
谢谢