我正在使用 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;
}
}
这不是布埃诺。我尝试过的任何事情都没有奏效。我一定是错过了什么。