Bootstrap

dubbo filter 中获取接口上注解 is null

在我的实现MyLogFilter 的方法中。想得到这个注解 myAnnotation 对象却一直为null。

@Slf4j
@Activate(group = {Constants.PROVIDER}, order = 1000)
public class MyLogFilter implements Filter {

    @SneakyThrows
    @Override
    public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {

       MyAnnotation myAnnotation = invoker.getInterface().getAnnotation(MyAnnotation.class);
}

经过分析,Spring在处理中,可能是因为我的项目有事务,serviceImpl的方法被代理后直接得不到了。换一个思路:先得到自己的父类,然后通过父类得到真实的自己

        String methodName = invocation.getMethodName();

        Method declaredMethod = invocation.getClass().getDeclaredMethod(methodName, invocation.getParameterTypes());

        MyAnnotation annotation = declaredMethod.getAnnotation(MyAnnotation.class);
;