dubbo分布式架构之redis工具类注入失败问题
dubbo分布式服务要用到redis,把redis工具类放在common项目中,在另外一个项目center中调用redis工具类,其中common项目是一个Java项目,center是个web项目,center用tomcat启动加载spring-redis配置文件,在common中用到shardedJedisPool连接池,但是shardedJedisPool注入失败,请问有知道原因的吗?(如果您觉得是个可笑的问题请不要笑我,我会受伤)
项目结构如下图:
redis工具类代码如下:
center项目容器加载如下:
spring-redis配置文件如下:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
结贴了:因为spring容器启动时没有把shardedJedisPool注入到SharedJedisUtils工具类中(脑子短路了)
实在不行就用你的工具类实现ApplicationContextAware类,直接从spring容器里取出来赋值吧
他应该是set方法直接注入了,不需要注解
回复
@爱吃荷包蛋i : 呃~你可以试试看只写个set方法谁会给你注入
redis工具类代码中 那个 sharededJedisPool 没有加注入用的注解
楼主的意思是web中不添加redis相关内容,远程使用common实现redis?如果说web一点代码都不加的话,是无法调用的,dubbo我目前使用的是RPC协议连接,是需要各个站点之间存根(即接口)相符。
目前看你的问题描述,是common启动失败?
没看到注入的代码,并没有注入吧!
没有扫到这个包吧