Spring Cloud踩坑记

1.rabbit远程帐户没法访问

erro:java.net.SocketException: socket closed
官方文档已经说明,新建user和guest的帐户是没有远程登陆的权限的 须要对登陆所用帐户受权java

edit setting

2.Gradle打包时使用lombok注解

须要在build.gradle追加spring

repositories {
	mavenCentral()
}

dependencies {
	compileOnly 'org.projectlombok:lombok:1.18.6'
	annotationProcessor 'org.projectlombok:lombok:1.18.6'
}
复制代码

3.优化显示eureka-server中服务的Status显示

版本springboot:2.1.3 RELEASE springcloud:GreenWich.RELEASEvim

eureka:
  instance:
    prefer-ip-address: true
    instance-id: ${spring.cloud.client.ip-address}:${server.port}
复制代码

4.修改rabbitmq的配置,可以使用远程地址

vim /usr/local/etc/rabbitmq/rabbitmq-env.conf
修改 NODE_IP_ADDRESS=10.0.0.82
复制代码

5.给注册中心开启安全验证

在注册中心配置api

spring:
 security:
 user:
 name: admin
 password: admin
复制代码

在客户端的注册地址写入安全

defaultZone: http://admin:admin@${eureka.instance.hostname}:${server.port}/eureka/
复制代码

6.Gradle父module使用子module依赖

  • implementation指令的依赖不会传递
  • api等同于compile,可以使用api

手动设置传递依赖(禁止依赖传递)springboot

implementation(project(":${toolsCommon}:${toolsCommonSecurity}")) {
        transitive = false
}
复制代码

7.qualifying bean of type 'org.springframework.cache.CacheManager'

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.cache.CacheManager' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1654) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1213) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1167) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	... 35 common frames omitted

Disconnected from the target VM, address: '127.0.0.1:49809', transport: 'socket'
复制代码

多CacheManager的构造注入引发
依赖冲突引发bash

1. @EnableDiscoveryClient和@EnableEurekaClient

  • 共同点就是:都是可以让注册中心可以发现,扫描到改服务。
  • 不一样点
    • @EnableEurekaClient只适用于Eureka做为注册中心
    • @EnableDiscoveryClient 能够是其余注册中心。
相关文章
相关标签/搜索