【发布时间】:2018-10-08 20:00:30
【问题描述】:
我们有 很多 用于连接的 soap 服务,每次第一次连接到同一个服务需要大量时间才能从集成启动,随后的请求迅速减少了 60%响应时间。
JAXB绑定初始化分析
@Configuration
public interface WSCommons {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
@Bean
static Jaxb2Marshaller jaxb2Marshaller() {
marshaller.setPackagesToScan("com.abc");
return marshaller;
}
}
第一个请求扫描所有内容并创建编组器需要大量时间。
但是,
一旦 Bean 被初始化,它就可以快速处理少量请求。当服务流空闲一段时间并且请求再次开始流动时,MarshallingWebServiceOutboundGateway 滞后非常糟糕。
Jaxb2Marshaller 是静态的,在这种情况下它应该停止重新初始化。
感谢任何输入,可能在初始化时做错了。
谢谢
【问题讨论】:
标签: spring-integration spring-integration-dsl spring-integration-http