当前位置: 首页 > news >正文

springboot + nacos + sofarpc 整合后报错403

springboot版本 2.2.2

nacos 版本 1.4.2

rpc-sofa-boot  版本 3.2.0

  <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version></parent><!-- 这里写你自己的module名称 --><properties><sofa.boot.version>3.2.0</sofa.boot.version><spring.boot.version>2.2.2.RELEASE</spring.boot.version><nacos.version>1.4.2</nacos.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring.boot.version}</version><scope>import</scope><type>pom</type></dependency><dependency><groupId>com.alipay.sofa</groupId><artifactId>sofaboot-dependencies</artifactId><version>${sofa.boot.version}</version><scope>import</scope><type>pom</type></dependency></dependencies></dependencyManagement><dependencies>
<!--        <dependency>-->
<!--            <groupId>com.alipay.sofa</groupId>-->
<!--            <artifactId>healthcheck-sofa-boot-starter</artifactId>-->
<!--        </dependency>--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alipay.sofa</groupId><artifactId>rpc-sofa-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>${nacos.version}</version></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-api</artifactId><version>${nacos.version}</version></dependency></dependencies>

配置文件

#配置nacos 的ip 端口 和命名空间
com.alipay.sofa.rpc.registry-address=nacos://ip:port/nacos-3fepopkd

编写服务接口和服务实现

public interface HelloService {String sayHello(String name);
}
import club.throwable.contract.HelloService;
import com.alipay.sofa.runtime.api.annotation.SofaService;
import com.alipay.sofa.runtime.api.annotation.SofaServiceBinding;
import org.springframework.stereotype.Service;@Service
@SofaService(interfaceType = HelloService.class, bindings = {@SofaServiceBinding(bindingType = "bolt")
})
public class DefaultHelloService implements HelloService {@Overridepublic String sayHello(String name) {System.out.println(name + " -------------------------");return String.format("%s say hello!", name);}
}

启动类

@SpringBootApplication(scanBasePackages = {"club.throwable.server", "club.throwable.contract"})
public class ServerApplication {public static void main(String[] args) {SpringApplication.run(ServerApplication.class, args);}
}

client 实现

@SpringBootApplication(scanBasePackages = {"club.throwable.client", "club.throwable.contract"})
public class ClientApplication implements CommandLineRunner {@SofaReference(binding = @SofaReferenceBinding(bindingType = "bolt"))private HelloService boltHelloService;public static void main(String[] args) {SpringApplication.run(ClientApplication.class, args);}@Overridepublic void run(String... args) throws Exception {System.out.println(boltHelloService.sayHello("zf-test"));}
}

如果你的nacos没有配置用户密码,那么以上代码就不用看下面的了

但是我的nacos是用用户名和密码的,导致nacos无法访问,后面定位出来是rpc源码的问题,

我试过了最新版本6.0.4 也无法解决这个问题,那我就自己改源码了

在项目路径下重写NacosRegistry 类第139行处,加入如下代码

    nacosConfig.put(PropertyKeyConst.USERNAME, "your_user");nacosConfig.put(PropertyKeyConst.PASSWORD, "your_password");

http://www.lryc.cn/news/459940.html

相关文章:

  • 小米路由器R3Gv2安装openwrt记录
  • 记录一下,android studio 登录不上github的问题
  • springcloud之基于github webhook动态刷新服务配置
  • qt+opengl 实现纹理贴图,平移旋转,绘制三角形,方形
  • 【动态规划】子数组系列(下)
  • macos mendeley Unable to install the Microsoft Word Plugin 解决
  • 【Linux进程间通信】Linux信号机制深度解析:保存与处理技巧
  • 常见开源组件的详解
  • rust使用教程详解
  • 并查集的实现(朴素版)
  • WPF 为button动态设置不同的模板
  • 【C++贪心 DFS】2673. 使二叉树所有路径值相等的最小代价|1917
  • 虚幻引擎GAS入门学习笔记(一)
  • Excel:vba实现合并工作表(表头相同)
  • Redis:分布式 - 主从复制
  • el-date-picker设置只有某些日期可选
  • java数据库操作-cnblog
  • HCIP-HarmonyOS Application Developer 习题(九)
  • redis集成到spring boot中使用
  • Spring Boot、Spring MVC和Spring有什么区别
  • Flip动画
  • Java通过RAG构建专属知识问答机器人_超详细
  • 2.1 使用点对点信道的数据链路层
  • 台式机来电自启动设置
  • 【最新华为OD机试E卷-支持在线评测】考勤信息(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)
  • netdata保姆级面板介绍
  • 苹果最新论文:LLM只是复杂的模式匹配 而不是真正的逻辑推理
  • Python知识点:基于Python工具,如何使用Scikit-Image进行图像处理与分析
  • MongoDB初学者入门教学:与MySQL的对比理解
  • Oracle AI Vector Search