Hi, @freeseawind 
This is a good issue, thx for your issue first. :)

I think the reason for the SPI value is not necessarily required: First, the 
meaning of the SPI value is "default extension name", we should allow classes 
with no default extensions (ex: Merger, RouterFactory, ChannelHandler, etc.). 
Second, there is no need, because with @Adaptive annotations, we can still 
specify an extension implementation.
A doc can be found at @Adaptive annotation:

If default extension's name is not give on interface's {@link SPI}, then a name 
is generated from interface's class name with the...

Explain that the value of spi itself is designed to be non-required.

The above is my opinion.

[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/2398 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to