是否可以对 Spring-WS 端点中的所有请求使用单个 JAXBContext?



我正在编写一个简单的spring-ws web服务,它实现了由另一个项目定义的WSDL。问题在于这个WSDL和相关数据类型非常复杂,当向Web服务发送请求时,初始化JAXBContext大约需要15秒,而spring似乎为每个传入的数据类型创建了一个新的JAXBContext。相关的弹簧代码在这里。

鉴于我无法更改数据类型,是否可以更改 spring-ws 使用的 JAXBContext 初始化策略?理想情况下,我只需要为所有请求缓存单个 JAXBContext,因为我可以确定请求之间的上下文是相同的。

通过接受和响应 org.w3c.dom.Elements 并拥有一个带有单个 JAXBContext 的单例 bean 来修复此问题,该 bean 可以在 JAXBElements 和 Elements 之间进行转换。

最新更新