拦截器在 JAX-rs 项目中不起作用

问题描述 投票:0回答:0

我正在使用 websphere liberty。摇篮项目。 Jax-rs 规范。试图让一个简单的拦截器工作。例如:

@Interceptor
@Logged
public class LoggedInterceptor {

    @AroundInvoke
    public Object logMethodEntry(InvocationContext invocationContext) throws Exception {
        System.out.println("Entering method: " + invocationContext.getMethod().getName());
        Object result = invocationContext.proceed();
        System.out.println("Exiting method: " + invocationContext.getMethod().getName());
        return result;
    }
}

然后是客户注释:

@InterceptorBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Logged {
}

然后我将它注册到扩展应用程序的主类(我假设我必须这样做)。所以对于这个例子,getClasses 将返回 LoggedInterceptor.class。然后我这样注释一个测试类:

public class Test {
    String prop;

    @Logged
    public void setProp(String prop) {
        this.prop = prop;
    }
}

这不是布埃诺。我尝试过的任何事情都没有奏效。我一定是错过了什么。

java jax-rs javabeans interceptor
© www.soinside.com 2019 - 2024. All rights reserved.