我有一个使用 Apache CXF 的 Spring 应用程序。发生错误时我需要做一些额外的事情。为此,我创建了 FaultListener 接口(interface)的自定义实现:
public class MyClass implements FaultListener {
@Override
public boolean faultOccurred(Exception exception, String description, Message message) {
// do stuff
return true;
}
}
我在CXF总线上注册了监听器,但是CXF找不到我的监听器。
<bean id="gzipInInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPInInterceptor" />
<bean id="listener" class="MyClass"/>
<cxf:bus>
<cxf:properties>
<entry key="org.apache.cxf.logging.FaultListener">
<ref bean="listener"/>
</entry>
</cxf:properties>
<cxf:inInterceptors>
<ref bean="gzipInInterceptor" />
</cxf:inInterceptors>
<cxf:inFaultInterceptors>
<ref bean="gzipInInterceptor" />
</cxf:inFaultInterceptors>
</cxf:bus>
谁能帮我解决这个问题?
最佳答案
看看这个
<bean id="listener" class="MyClass"/>
你需要提供完整的类路径包括包名或者不需要在这里声明bean而是使用
<entry key="org.apache.cxf.logging.FaultListener">
<bean class="your.package.name.MyClass" />
</entry>
关于java - Apache CXF FaultListener 未在 cxf 总线中注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23565610/