59.3.3. 使用 Java 注解


概述

Apache CXF 提供四个 Java 注解,允许开发人员指定端点使用的拦截器链。与将拦截器附加到端点的不同,注解会附加到应用程序级别的工件中。所用的构件决定了注解的作用范围。

放置注解的位置

注解可放在以下工件中:

  • 定义端点的服务端点接口(SEI)

    如果注解放在一个 SEI 上,则所有实现接口和使用 SEI 创建代理的用户的服务提供商都将会受到影响。

  • 服务实施类

    如果注解放在实施类中,使用实施类的所有服务提供商都将会受到影响。

注解

该注解都位于 org.apache.cxf.interceptor 软件包中,并在 表 59.2 “拦截器链注解” 中描述。

表 59.2. 拦截器链注解
注解描述

InInterceptors

指定入站拦截器链的拦截器。

OutInterceptors

指定出站拦截器链的拦截器。

InFaultInterceptors

指定入站故障拦截器链的拦截器。

OutFaultInterceptors

指定出站故障拦截器链的拦截器。

列出拦截器

拦截器列表以完全限定类名称列表形式指定,使用 在链注解中列出拦截器的语法 中显示的语法。

在链注解中列出拦截器的语法

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
{
  ...
}

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.