dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

[Feature] Can @Method annotation provide more possibilities to control which @Method ultimately takes effect with minimal granularity, including on methods of classes using @DubboService annotation, methods of parent classes, and abstract methods of interfaces

Open lanxi0 opened this issue 1 year ago • 3 comments

Pre-check

  • [X] I am sure that all the content I provide is in English.

Search before asking

  • [X] I had searched in the issues and found no similar feature requirement.

Apache Dubbo Component

Java SDK (apache/dubbo)

Descriptions

Can @method annotation provide more possibilities to control which @method ultimately takes effect with minimal granularity, including on methods of classes using @DubboService annotation, methods of parent classes, and abstract methods of interfaces. And consider adding wildcard characters to match the methods.Or add an annotation for configuration. for example:

public interface TestGateway {
    Response create(String t);

    @Method(retries = 2, timeout = 1000)
    Response createOther(String t);

    @Method(retries = 2, timeout = 1000)
    Response createTest(String t);
}

@DubboService(interfaceClass = TestGateway.class, version = "1.0.0", group = "public",
        methods = {
                @Method(name = "create*", retries = 5, timeout = ,6000)
        }
)
public class TestGatewayImpl implements TestGateway {

    @Override
    public Response create(String t) {
        return Response.buildSuccess();
    }

    @Override
    public Response createOther(String t) {
        return Response.buildSuccess();
    }
    
    @Override
    @Method(retries = 1, timeout=500))
    public Response createTest(String t) {
        return Response.buildSuccess();
    }
}

In the above example, the retry count for create is 5, with a timeout of 6000 milliseconds. The retry count for create Other is 2, with a timeout of 1000 milliseconds. The retry count for create Test is 1, with a timeout of 500 milliseconds

Related issues

No response

Are you willing to submit a pull request to fix on your own?

  • [X] Yes I am willing to submit a pull request on my own!

Code of Conduct

lanxi0 avatar Nov 23 '24 03:11 lanxi0

Would you like to support it?

AlbumenJ avatar Nov 25 '24 02:11 AlbumenJ

Yes, I'd be happy to help with the development of this feature. Is there anything I should pay attention to?

lanxi0 avatar Nov 25 '24 06:11 lanxi0

You can submit PR directly. If there are any problems, we will raise them during the review process.

AlbumenJ avatar Nov 29 '24 06:11 AlbumenJ