Skip to content

dubbo spi  #4310

@huifer

Description

@huifer
  • [*] I have searched the issues of this repository and believe that this is not a duplicate.
  • [*] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.2
  • Operating System version: windows10(18362.175)
  • Java version: jdk12.0.1

Steps to reproduce this issue

  1. create interface
@SPI
public interface Robot {
    void sayHello();
}
  1. implements Roobot
public class Bumblebee implements Robot {

    @Override
    public void sayHello() {
        System.out.println("Hello, I am Bumblebee.");
    }
}

public class OptimusPrime implements Robot {

    @Override
    public void sayHello() {
        System.out.println("Hello, I am Optimus Prime.");
    }
}
  1. create a folder
    /MEAT-INF/dubbo/
optimusPrime=com.huifer.dubbo.client.spi.OptimusPrime
bumblebee=com.huifer.dubbo.client.spi.Bumblebee

  1. run demo
public class SpiDemo {

    public static void main(String[] args) {

        ExtensionLoader<Robot> extensionLoader =
                ExtensionLoader.getExtensionLoader(Robot.class);
        Robot optimusPrime = extensionLoader.getExtension("optimusPrime");
        optimusPrime.sayHello();
        Robot bumblebee = extensionLoader.getExtension("bumblebee");
        bumblebee.sayHello();

    }

}

Pls. provide GitHub address to reproduce this issue.

Expected Result

Console output

Hello, I am Optimus Prime.
Hello, I am Bumblebee.

Actual Result

  • It has an exception and does not find optimusPrime
Exception in thread "main" java.lang.IllegalStateException: No such extension com.huifer.dubbo.client.spi.Robot by name optimusPrime
	at org.apache.dubbo.common.extension.ExtensionLoader.findException(ExtensionLoader.java:520)
	at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:527)
	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:351)
	at com.huifer.dubbo.client.spi.SpiDemo.main(SpiDemo.java:18)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions