Skip to content

使用@SPI的wrapper方式报空指针异常bug #7176

@zhihuayu

Description

@zhihuayu

Environment

  • Dubbo version: 2.7.8
  • Operating System version: windows10
  • Java version: 1.8

比如,有如下的wrapper方式的Filter,在服务启动的时候会报空指针异常。

public class DubboWrapperFilter implements Filter {

	private final Filter filter;

	public DubboWrapperFilter(Filter filter) {
		this.filter = filter;
	}

	@Override
	public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
		String name = filter.getClass().getName();
		System.out.println("wrapper:" + name);
		return filter.invoke(invoker, invocation);
	}

}

经查是因为active的排序导致,如果改成如下方式,则不会报错,但是其排序可能会无效,所以希望官方能做一个完整的方案,谢谢!

@Activate
public class WrapperHelloSPI implements HelloSPI {

	private final HelloSPI spi;

	public WrapperHelloSPI(HelloSPI spi) {
		this.spi = spi;
	}

	@Override
	public void say(String say) {
		System.out.println("wapper:" + say);
		spi.say(say);
	}

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedEverything needs help from contributors

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions