- [x] I have searched the [issues](https://github.com/apache/incubator-dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.6.4

### Steps to reproduce this issue

1. GenericService泛化调用
2. 使用oninvoke、onreturn、onthrow
3. FutureFilter无法正常回调

### Expected Result
StaticContext.getKey(invoker.getUrl(), invocation.getMethodName(), Constants.ON_INVOKE_METHOD_KEY)
返回
com.alibaba.boot.dubbo.demo.consumer.DemoService:1.0.0.sayHello.oninvoke.method

### Actual Result
StaticContext.getKey(invoker.getUrl(), invocation.getMethodName(), Constants.ON_INVOKE_METHOD_KEY)
返回
com.alibaba.boot.dubbo.demo.consumer.DemoService:1.0.0.$invoke.oninvoke.method

预期是：

```
        String methodName = invocation.getMethodName();
        if("$invoke".equals(methodName)) {
            Object[] arguments = invocation.getArguments();
            methodName = (String) arguments[0];
        }
```

private transient volatile boolean destroyed;
    @SuppressWarnings("unused")
    private final Object finalizerGuardian = new Object() {
        @Override
        protected void finalize() throws Throwable {
            super.finalize();
            if (!ReferenceConfig.this.destroyed) {
                logger.warn("ReferenceConfig(" + url + ") is not DESTROYED when FINALIZE");
                /* don't destroy for now
                try {
                    ReferenceConfig.this.destroy();
                } catch (Throwable t) {
                        logger.warn("Unexpected err when destroy invoker of ReferenceConfig(" + url + ") in finalize method!", t);
                }
                */
            }
        }
    };
    public ReferenceConfig() {
    }
    public ReferenceConfig(Reference reference) {
        appendAnnotation(Reference.class, reference);
    }
    public URL toUrl() {
        return urls.isEmpty() ? null : urls.iterator().next();
    }
    public List<URL> toUrls() {
        return urls;
    }
    /**