跳到主要内容

dubbo

集成

<dependency>
<groupId>com.manatee.manatee-lowcode</groupId>
<artifactId>lowcode-dubbo-consumer</artifactId>
<version>${lowcode.version}</version>
</dependency>

Q&A

引入 dubbo 组件后启动项目失败

报错信息

xx.xx.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.apache.dubbo.config.ApplicationConfig' available: expected single matching bean but found 2: manateeDubboApplicationConfig,org.apache.dubbo.config.ApplicationConfig#0

解决方式

将启动类注解 @ComponentScan 中的 excludeFilters 按如下配置即可

@SpringBootApplication
@EnableDubbo
@ComponentScan(basePackages = {"com.xxxx","com.xx.xxxx"}
,excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {DubboConsumerConfig.class})
)
public class DubboConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(DubboConsumerApplication.class, args);
}

}

配置说明

配置项说明
interface名称要调用的 interface 路径:com.xx.xx.IxxService
方法名要调用的方法名
版本号(version)服务的 version
组(group)服务的 group
附加信息需配置的附加信息,如 dubbo.tag
入参要传给方法的参数,如: id = user.id;
入参数据类型方法参数的类型,如: id = "java.lang.Long";
结果对象名默认为 outputData
在返回中显示是否输出到返回结果