59.3.3. 使用 Java 注解
概述
Apache CXF 提供四个 Java 注解,允许开发人员指定端点使用的拦截器链。与将拦截器附加到端点的不同,注解会附加到应用程序级别的工件中。所用的构件决定了注解的作用范围。
放置注解的位置
注解可放在以下工件中:
定义端点的服务端点接口(SEI)
如果注解放在一个 SEI 上,则所有实现接口和使用 SEI 创建代理的用户的服务提供商都将会受到影响。
服务实施类
如果注解放在实施类中,使用实施类的所有服务提供商都将会受到影响。
注解
该注解都位于 org.apache.cxf.interceptor 软件包中,并在 表 59.2 “拦截器链注解” 中描述。
注解 | 描述 |
---|---|
指定入站拦截器链的拦截器。 | |
指定出站拦截器链的拦截器。 | |
指定入站故障拦截器链的拦截器。 | |
指定出站故障拦截器链的拦截器。 |
列出拦截器
拦截器列表以完全限定类名称列表形式指定,使用 在链注解中列出拦截器的语法 中显示的语法。
在链注解中列出拦截器的语法
interceptors={"interceptor1", "interceptor2", ..., "interceptorN"}
示例
将拦截器附加到服务实现中 显示将两个拦截器附加到使用 SayHiImpl
提供的逻辑的入站拦截器链的注解。
将拦截器附加到服务实现中
import org.apache.cxf.interceptor.InInterceptors;
@InInterceptors(interceptors={"com.sayhi.interceptors.FirstLast", "com.sayhi.interceptors.LogName"})
public class SayHiImpl implements SayHi
{
...
}