文档章节

spring-boot集成dubbo报错UnsatisfiedDependencyException

隆回水哥
 隆回水哥
发布于 2017/05/19 22:01
字数 286
阅读 218
收藏 0

    最近研究spring-boot,集成dubbo,纯java配置方式,单jar文件运行,开发支持热部署,一个字“快”。

@Bean(name = "companyOrgCodeService")
	public ReferenceBean<CompanyOrgCodeService> companyOrgCodeService() {
		ReferenceBean<CompanyOrgCodeService> ref = new ReferenceBean<CompanyOrgCodeService>();
		ref.setProxy("jdk"); // 不设置会报错,默认使用javassist做代理
		ref.setVersion("1.1");// 设置版本
		ref.setInterface(CompanyOrgCodeService.class);// 设置接口
		// bean.setId("companyOrgCodeService"); // 设置bean id,和方法名一样

		return ref;
	}

上面的CompanyOrgCodeService是生产者发布的一个接口,在没有ref.setProxy("jdk");时,在消费端注入接口老是报错UnsatisfiedDependencyException  “is not visible from class loader”,很长一串的堆栈错误信息。很长时间,进行了各种尝试,直到看dubbo的官方文档,注意到Proxy有两种形式jdk/javassist,改成jdk就没报错了,和提供者的代理类型一致。

不过这里对于引用的每个接口配置,都要写这么一句,很麻烦,引用有个统一的配置。如下

 /**
 * 引用配置
 * 
 * @return
 * @author wei.ss
 */
@Bean
@SuppressWarnings("rawtypes")
public ReferenceConfig referenceConfig(MonitorConfig monitorConfig) {
	ReferenceConfig rc = new ReferenceConfig();
	rc.setProxy("jdk"); // 不设置会报错,默认使用javassist做代理 
	rc.setMonitor(monitorConfig);
	
	return rc;
}

完整的工程示例,参见spring-boot-jsp-demo

© 著作权归作者所有

隆回水哥
粉丝 14
博文 50
码字总数 18935
作品 0
深圳
高级程序员
私信 提问
深入 Spring Boot : 快速集成 Dubbo + Hystrix

背景 Hystrix 旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以...

小致dad
2018/07/02
444
0
spring-boot注入dubbo的bean单元测试有问题

现在是这样的,我用spring-boot作为入口启动服务所以在pom.xml引用了spring-boot-starter-web,Server类启动没问题,调用dubbo服务也没问题,但是在SpringJUnit4ClassRunner单元测试的时候,...

低调的浮躁
2016/05/25
4.3K
0
SpringBoot bean注入失败

使用springboot+zookeeper+dubbo开发分布式应用 provider.xml 提供方应用启动成功 consumer.xml 消费方应用启动报错: org.springframework.beans.factory.UnsatisfiedDependencyException: ......

ysjO
2018/04/23
1K
1
SpringBoot整合Dubbo案例

使用框架: jdk 1.8 springboot-2.1.3 dubbo-2.6 spring-data-jpa-2.1.5 一、开发dubbo服务接口: 按照Dubbo官方开发建议,创建一个接口项目,该项目只定义接口和model类; 1、创建springboo...

ggod
06/09
274
0
SpringBoot | 第二十九章:Dubbo的集成和使用

前言 今年年初时,阿里巴巴开源的高性能服务框架又开始了新一轮的更新,还加入了。原先项目使用了之后,已经比较少用。目前又抽调回原来的行业应用部门,可能还会使用进行服务调用。趁着编写...

oKong
2018/09/28
2.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4

作者:胡呈清 整理 MySQL 8.0 文档时发现一个变更:默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。...

爱可生
13分钟前
2
0
不管单机还是集群的限流实现已经给你准备好了

限流算法 计数器算法 维护一个counter,规定在单位时间内counter的大小不能超过最大值,每隔固定时间就将counter的值置零。如果这个counter大于设定的阈值,那么系统就拒绝请求 漏桶算法 维护...

阿提说说
25分钟前
3
0
文件管理

通过CLI登录进行文件管理 .表示当前目录,..表示父目录,具有隐藏文件。支持缩写与TAB键补全 1、目录操作 pwd#打印工作目录 cd <directory>#改变工作目录 dir [/all][<directory>]#查看目录内...

悠悠子佩
27分钟前
3
0
Netty学习笔记(10)——Netty中的Channel组件

1. Channel的功能 1. 与NIO中的Channel一样,它实现了网络操作的抽象类,聚合了一系列的网络IO功能,包括读写数据、建立连接、关闭连接等功能。通过外观模式,将数据读写、连接建立与断开等操...

江左煤郎
31分钟前
2
0
二叉树的深度

从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 public int TreeDepth(TreeNode root) { return root == null ? 0 : 1 + Math.max(Tree...

Garphy
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部