我有一个使用Apache CXF的Spring应用程序.发生错误时,我需要做一些其他的事情.为此,我创建了FaultListener接口的自定义实现:
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>