Dubbo 빠 른 입문 실례

9694 단어 dubbo
공식 자료 주소 Dubbo 첨부 jar 패키지, 원본, 문서, pom. xml 다운로드 주소http://repo1.maven.org/maven2/com/alibaba/dubbo/
eclipse 에서 maven 은 두 항목 을 새로 만 들 었 습 니 다. 서비스 제공 자 와 서비스 소비 자 는 다음 절 차 를 정리 하고 코드 를 모두 붙 여 디 버 깅 에 직접 사용 할 수 있 습 니 다. dubbo 초보 자 에 게 도움 이 되 기 를 바 랍 니 다.
다음은 시작 하 겠 습 니 다.
서비스 제공 자
pom. xml 는 다음 과 같 습 니 다.

	4.0.0
	com.mvntest
	dubboProvider
	war
	0.0.1-SNAPSHOT
	dubboProvider Maven Webapp
	http://maven.apache.org
	
		
			junit
			junit
			3.8.1
			test
		
		
			javax.servlet
			servlet-api
			2.5
		
		
			org.springframework
			spring
			2.5.6.SEC03
		
		
			org.javassist
			javassist
			3.18.1-GA
		
		
		
			com.alibaba
			dubbo
			2.5.3
		
		
		
			org.apache.zookeeper
			zookeeper
			3.4.5
			pom
		
		
			com.101tec
			zkclient
			0.4
		
		
		
			log4j
			log4j
			1.2.16
		
		
			commons-logging
			commons-logging
			1.1.1
		
		
		
			org.slf4j
			slf4j-api
			1.7.6
		
		
			org.slf4j
			slf4j-log4j12
			1.6.1
		

	
	
		dubboProvider
	
	
	  
        UTF-8  
      
    
    


1. 서비스 인 터 페 이 스 를 정의 합 니 다. (이 인 터 페 이 스 는 따로 포장 하고 서비스 제공 자 와 소비자 가 공유 해 야 합 니 다) 본 고 는 따로 포장 하지 않 고 서비스 제공 자 와 서비스 소비 자 는 모두 같은 서비스 인 터 페 이 스 를 새로 만 들 었 다.
package com.quickStart.service;

public interface  DemoService {
	String sayHello(String name);
}

2. 서비스 제공 자 에 게 인 터 페 이 스 를 실현 한다. (서비스 소비자 에 게 숨겨 진 실현)
package com.quickStart.service.impl;

import com.quickStart.service.DemoService;

public class DemoServiceImpl implements DemoService {

	public String sayHello(String name) {
		return "Hello " + name;
	}

}

3. Spring 으로 노출 서 비 스 를 설정 합 니 다.


 
    
    
 
    
    
 
    
    
 
    
    
 
    
    
 
4.
Spring 설정 을 불 러 오고 서 비 스 를 시작 합 니 다.  (Provider 클래스 의 main () 방법 을 실행 하고 서 비 스 를 시작 합 니 다.
)
package com.quickStart;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Provider {
	public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"/provider.xml"});
        context.start();
 
        System.in.read(); //       
        //System.out.println("-------------Dubbo       -----------");
    }
}

서비스 소비자
pom. xml 는 다음 과 같 습 니 다.

	4.0.0
	com.mvntest
	dubboProvider
	war
	0.0.1-SNAPSHOT
	dubboConsumer Maven Webapp
	http://maven.apache.org
	
		
			junit
			junit
			3.8.1
			test
		
		
			javax.servlet
			servlet-api
			2.5
		
		
			org.springframework
			spring
			2.5.6.SEC03
		
		
			org.javassist
			javassist
			3.18.1-GA
		
		
		
			com.alibaba
			dubbo
			2.5.3
		
		
		
			org.apache.zookeeper
			zookeeper
			3.4.5
			pom
		
		
			com.101tec
			zkclient
			0.4
		
		
		
			log4j
			log4j
			1.2.16
		
		
			commons-logging
			commons-logging
			1.1.1
		
		
		
			org.slf4j
			slf4j-api
			1.7.6
		
		
			org.slf4j
			slf4j-log4j12
			1.6.1
		

	
	
		dubboConsumer
	
	
	  
        UTF-8  
      
    
    

1. 서비스 인 터 페 이 스 를 정의 합 니 다. (이 인 터 페 이 스 는 따로 포장 하고 서비스 제공 자 와 소비자 가 공유 해 야 합 니 다) 본 고 는 따로 포장 하지 않 고 서비스 제공 자 와 서비스 소비 자 는 모두 같은 서비스 인 터 페 이 스 를 새로 만 들 었 다.
package com.quickStart.service;

public interface  DemoService {
	String sayHello(String name);
}

2. Spring 설정 을 통 해 원 격 서 비 스 를 참조 합 니 다.


 
    
    
 
    
    
 
    
    
    												
    												
 

3. Spring 설정 을 불 러 오고 원 격 서 비 스 를 호출 합 니 다. (IoC 주입 도 사용 할 수 있 습 니 다)  
package com.quickStart;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.quickStart.service.DemoService;

public class Consumer {
	public static void main(String[] args) throws Exception {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "/consumer.xml" });
		context.start();

		DemoService demoService = (DemoService) context.getBean("demoService"); //         
		String hello = demoService.sayHello("world"); //       

		System.out.println(hello); //       
	}

}

4. 
Consumer 클래스 의 main () 방법 을 실행 하여 호출 결 과 를 인쇄 합 니 다. "Hello world".
호출 결과 "Hello world" 를 얻 었 습 니 다. 이로부터,  RPC (Remote Procedure Call Protocol 원 격 프로 세 스 호출 프로 토 콜) 가 실 현 됩 니 다.
* * 주의:
1. 먼저 서비스 자 를 시작 한 다음 에 소비 자 를 운영 해 야 한다.
2. DemoService 인터페이스 류 는 반드시 서비스 제공 자 와 서비스 소비자 두 항목 이 모두 존재 해 야 한다. (실제 생산 환경 에서 이런 인터페이스 류 는 단독으로 포장 할 수 있다. 서비스 제공 자 와 소비자 가 공유 하 는데 개인 은 현재 이것 이 무슨 소 용이 있 는 지 느끼 지 못 하고 어떤 일 을 아 꼈 는 지 모르겠다. 같은 서비스 인터페이스 클래스 를 한 번 덜 쓰 려 고?)

좋은 웹페이지 즐겨찾기