wxbty commented on PR #11088: URL: https://github.com/apache/dubbo/pull/11088#issuecomment-1467685902
> I didn't look into the details of the previous discussion. By just reviewing the code, I have the following concerns: > > 1. One more scattered SPI definition and its configuration item, which in this case is `String exPs = System.getProperty(EXCEPTION_PROCESSOR_KEY);`. > 2. The only functionality of `ExceptionFilter` is to provide users a way to customize `DecodeableRpcInvocation`, would it be better to include the current initialization of `DecodeableRpcInvocation` as a default implementation of `ExceptionFilter`? And in that way, we might want to rename `ExceptionFilter` as something like `DecodeableInvocationProvider`, so, for users who care about this SPI there will have: > > * A SPI definition `DecodeableInvocationProvider` > * The default SPI implementation `DefaultDecodeableInvocationProvider` > * The customized SPI implementation `ExceptionDecodeableInvocationProvider` > > Besides the implementation, I care more about the use cases and the necessity of introducing this extension. To put it simply, dubbo has very strong scalability throughout its life cycle, but it will throw a ServiceNotFound exception (404) when the decode period is not included. Compared with springmvc, the @ExceptionHandler annotation combined with the use of NoHandlerFoundException allows custom behavior for 404 scenarios. If dubbo joins this exception extension, we can do a lot of things. For example, with the ip switching feature, a gateway for dubbo traffic can be built, which is very important to our current cross-network solution. As for the implementation, I will modify it according to your suggestion. I understand that you want to use the concept of DecodeableInvocationProvider or Factory, and then provide the default DecodeableRpcInvocationProvider? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
