不是很熟 Spring ,有个问题请教下大家。
我现在需要重写 Spring-WS SoapMessageDispatcher
的 receive
函数,这样可以定义自己的 log 规则。这个函数其实是他的父类 MessageDispatcher
定义的。
实现很简单,我只要继承 SoapMessageDispatcher
就可以了,但是 MessageDispatcher
需要你有一个 properties 文件,比如你的类名是 AAA
,他的构造函数会去资源里找 AAA.properties
. 刚好我们的项目里面不能有这样的文件,只能有一个 Application.properties
.
解决方法当然有好多种,我就想问问这个可以吗:我在自己的项目里定义 package
org.springframework.ws.soap.server
. 自己定义一个 SoapMessageDispatcher
类,也就是和 Spring-WS
里的类名是一样的,这样他启动的时候会去 Spring-WS
里面找自带的 SoapMessageDispatcher.properties
。试了一下似乎是不行的,总是 Spring-WS
里面的那个类被拿出来创建 bean 。想问问有啥解决办法吗?谢谢
1
Belmode 2023-06-27 17:33:24 +08:00 1
直接在自己的项目里,定义一个 MessageDispatcher ,限定名完全和 SpringWebsocket 中定义的一样,然后重写它的构造器,修改成符合你的要求的,比如写死读取 Application.properties 。然后再继承就好了。
第一次见不能定义配置文件的项目。 |
2
hello2090 OP 1. 自定义 MessageDispatcher ,把 Spring-WS 的拷过来,重写构造函数
2. 自定义 SoapMessageDispatcher, 把 Spring-WS 的拷过来,重写 receive, 把 properties 数据传给新的父类构造函数 (写死都行) 这肯定是可以的,但是老板嫌这个麻烦。。 |