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 能夠是其餘註冊中心。
相關文章
相關標籤/搜索