SpringBoot 는 Dubbo 통합 을 통 해@Reference 주석 문 제 를 해결 합 니 다.

우선 spring boot 버 전이 얼마 인지 확인 해 보 세 요.
2.X 라면 보지 않 아 도 됩 니 다.spring boot 2.x 는 반드시 이 문제 가 발생 할 것 입 니 다.
1.5.9 또는 기타 1.x 버 전 으로 바 꾸 고 현재 생산 환경 은 1.x 버 전 을 사용 하 는 것 을 권장 합 니 다.

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
그리고 다음은 올 바른 설정 입 니 다.
서비스 소비자 측 프로필:
\#zk 주소
spring.dubbo.registry.address=zookeeper://120.79.168.47:2181
\#대응 하 는 서비스 공급 자 name
spring.dubbo.protocol.name=dubbo
\#스 캔 패키지 경로
spring.dubbo.scan=com.diko.graduation.system.config
\#서비스 소비자 응용 이름
spring.dubbo.application.name=system
서비스 공급 자 설정 파일
\#서비스 공급 자 응용 이름
spring.dubbo.application.name=rpc-base
\#zk 주소
spring.dubbo.registry.address=zookeeper://120.79.168.47:2181
\#인터페이스 그룹 이름
spring.dubbo.protocol.name=dubbo
\#인터페이스 그룹 포트
spring.dubbo.protocol.port=20880
\#스 캔 패키지 경로
spring.dubbo.scan=com.diko.graduation.rpcbase
만약 에 해결 되 지 않 으 면 다른 원인 은 서비스 제공 자가 등록 한 주소 가 잘못 되 었 다 는 것 이다.즉,서비스 제공 자 호스트 에 여러 개의 ip 연결 주소 가 있 는데 다음 과 같다.

그리고 zk 에 등 록 된 주 소 는 내부 네트워크 나 가상 컴퓨터 의 특정한 주소 이기 때문에 외부 네트워크 의 다른 호스트 가 이 주소 에 접근 할 수 없습니다.
zk 등 록 된 주소:

만약 아직 해결 되 지 않 았 다 면 아래 의 비정 규 직 두 가지 해결 방식 을 참고 하 세 요.
1.Xml 프로필 로 해결 합 니 다.
2.직렬 모드 로 연결 하여 참조 합 니 다.
다음은 두 번 째 방법 코드 입 니 다.다음 과 같 습 니 다.@Reference(url = "dubbo://localhost:20880")2 private ExpressService expressService;전 망 의 답안 을 결합 하면 현재 상기 두 가지 방식 으로 만 해결 할 수 있다.
다음은 Spring boot 의 공식 예 입 니 다.두 번 째 방법 을 사용 합 니 다.
연결:https://github.com/apache/incubator-dubbo-spring-boot-project/blob/master/README_CN.md
1.공급 자 코드


2.소비자 코드


이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기