我在Java中使用org.apache.cxf.interceptor.LoggingInInterceptor作为我的拦截器。 我从服务器调用了一个服务,并将其称为TIMEOUT,我想在我的自定义拦截器中处理此事件超时。 但是实际上,尽管我在配置xml中配置了该拦截器,但我的自定义拦截器并未运行:
<jaxrs:client id="myService" address="url"
serviceClass="MyServiceClass">
<jaxrs:features>
<ref bean="loggingFeature" />
</jaxrs:features>
<jaxrs:outInterceptors>
<ref bean="loggingOutInterceptor" />
</jaxrs:outInterceptors>
<jaxrs:inInterceptors>
<ref bean="loggingInInterceptor" />
</jaxrs:inInterceptors>
....
</jaxrs:client>
我的自定义拦截器:
CustomLoggingInInterceptor extends LoggingInInterceptor {
public CustomLoggingInInterceptor() {
super(Phase.USER_PROTOCOL);
}
public void handleMessage(Message outMessage) throws Fault {
// Can i handle TIMEOUT in here -------------
}
}
更多信息,当服务器超时时,我的自定义拦截器未运行,但其扩展类已运行(LoggingInInterceptor)。