Eu publiquei o método de anotação ontem. Alguém me enviou um e -mail na esperança de lançar uma versão do formato XML. Originalmente, era possível fazê -lo antes das 12 horas, mas houve um pequeno problema com o computador, o que fez a idéia cair loucamente. Faço isso há muito tempo e não vou dizer muita bobagem. Espero que todos possam apontar qualquer erro e enviá -lo para o meu endereço de e -mail.
Usar o dubbo é definitivamente multimodular, então vamos criar um projeto de agregação primeiro
Esta é a estrutura do projeto
O DUBBO_DEMO POM é usado principalmente para agregar módulos de negócios sem nenhum processamento de negócios.
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.ww3.org/2001/xmlschaMance xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <lodelversion> 4.0.0 </modelversion> <proupId> com.hzb </groupsh> art. <Versão> 0.0.1-SNAPSHOT </versão> <!-Somos o desenvolvimento de vários módulos, por isso precisamos nos tornar pom-> <bating> pom </acheging> <!-System Module-> <odules> <Module> hzbdubbo-consumer </module> <lodule> <oduMation> <modulenthatration-hzigBo- FILTURTHTROTBO-SPIMATRO-PROVER </MODULE> <lodule> <lodules> <lodunt> <lodule> <figMath-! <PROPERTIES> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <nava.version> 1.8 </java.version> </souperts> </projection>
Em seguida, siga o método acima para criar dois projetos, um é o provedor de serviços e o consumidor de serviço
Se o provedor e os consumidores não entenderem, clique neste link para saber sobre isso. http://dubbo.io/
Snippet de código do provedor de serviços:
Gerar projetos básicos de acordo com a primeira imagem
Estrutura do código: desde que você não entenda a demonstração de acordo com a estrutura padrão, poderá entendê -la.
Provedor de serviços POM:
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelversion>4.0.0</modelversion><GroupId>com.hzb.dubbo.provider</Group Id> <TarifactId> hzbdubbo-provider </artifactId> <batyaging> jar </acybation> <name> hzbdubbo-provider </name> <cription> demonstração project for Spring Boot</description><parent> <groupId>com.hzb</groupId> <artifactId>Dubbo_demo</artifactId> <version>0.0.1-SNAPSHOT</version></parent><properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <Project.Reporting.OutputEncoding> utf-8 </project.reporting.outputencoding> <nava.version> 1.8 </java.version> </sperties> </dependências> <spendency> <voundid> org.springframework.BOOT </Groupid> <stringfactid> Spring- Spring- Spring- Spring- <Versão> 1.5.2.Release </sisterment> </pendence> <pendence> <puperiD> org.springframework.boot </groupiD> <TRARFACTID> Spring-boot-starter </sortifactId> <Versão> 1.5.2.Release </sipers> </dependency> </Groupid> oug.springfringfringfringfringfringfringfringfring.. <TRAFACTID> Spring-Boot-Starter-test </storkactid> <cope> Test </schope> <versão> 1.5.2.Release </sipers> </dependency> <pendency> <purfactiF> com.alibaba </roupidId> <TifactId> DUBBO </ArtifactiS> <uses> 2./versão </versão </versão </exclusf. exclusfactid> <GroupId> org.springframework </frupid> </cligiion> </clusions> </dependency> <pendence> <puperid> org.apache.zookeeper </roupidiD> <ArtifactId> Zookeeper </Artifactid> <Versão> 3.4.6 </versão> <clusions> <clmokeper <artifactId>slf4j-log4j12</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> </dependences> <built> <flugins> <plugiD> org.springframework.boot </foupiD> <TRATIFACTID> Spring-boot-maven-plugin </ArtifactId> <version> 1.5.2.release </sisters> </flugin> </flugins> </filt> </project>
Preste atenção ao que o pai em um POM corresponde ao pom agregado
Configuração em dubbo.xml:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- For configuration, please refer to http://dubbo.io/User+Guide-zh.htm --> <!-- The service provider application name, used to calculate dependencies --> <dubbo: nome do aplicativo = "dubbo-provider" proprietário = "dubbo-provider" /> <!-Defina o endereço e o protocolo do Centro de Registro de Zookeeper-> <Dubbo: protocolo de registro (zookeeper "e" 127.0.0.1:2181 "client =" zkclient " />> 20880. Se estiver configurado como -1 ou a porta não estiver configurada, uma porta que não está ocupada será atribuída-> <Dubbo: protocolo name = "dubbo" port = "-1" /> <!-Declare a interface de serviço que precisa ser exposta-> <Dubbo: Service = "com.hzb.hzb.d.d.dB.B. timeout = "10000" /> <!-Implementar o serviço como feijão local-> <bean id = "Demoservice" /> </ Beans>
Para entender o significado da configuração, clique neste link: http://dubbo.io/books/dubbo-user-book-en/english versão https://help.github.com/categories/github-pagessics/
Código de classe de inicialização do provedor de serviços:
pacote com.hzb.dubbo.provider; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootApplication; importância org.springframework.annotation.importrapTrce; @IMPORTRESource (valor = {"ClassPath: dubbo.xml"}) classe pública DubboProviderApplication {public static void main (string [] args) {springapplication.run (dubboprovidapplication.class, args); System.out.println ("Provedor de servidor lançado com sucesso"); }}Código da interface de serviço de serviço:
Código de implementação de negócios: "
O próximo é servir os consumidores:
Estrutura do projeto:
Os consumidores também devem prestar atenção às diferenças entre o POM e o acima e a dependência.
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.ww3.org/2001/xmlschaMance xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion> 4.0.0 </modelversion> <proupId> com.hzb.db.dubbo.dubbo.dubro <coderger> <broupId> com.hzb.db.d.dubbo.dubbo. </ArtifactId> <bacaging> jar </acheging> <name> hzbdubbo-consumer </name> <cription> Projeto de demonstração para a inicialização da primavera </cription> <ristent> <risterf> com.hzb </groupid> <TRAFACTID> DUBBO_DEMIDO </art. </parent> <pertts> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <projeto.reporting.outputEncoding> utf-8 </java.versanssion.outputEncoding> <nava.version> 1.8 </java.versanssion.veries> <nava.version> 1.8 </java.versersion.veries> <nava.version> 1.8 </java.version.versersion> <nava.version> 1.8 </java.version.versersion> <nava.version> 1.8 </java.version.veriários> <nava.version> 1.8 </java.versersion <roupidId> org.springframework.boot </frugiD> <ArtifactId> Spring-boot-starter-web </stutifactId> <versão> 1.5.2.Release </sipers> </dependency> <spendency> <voundid> org.springframework.BOOT) <Versão> 1.5.2.Release </sipers> </dependency> <pendency> <puperiD> org.springframework.boot </groupId> <TRATIFACTID> Spring-boot-starter-test </ArtifactId> <! <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.41</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.4.10</version> <exclusions> <exclusion> <artifactId>spring</artifactId> <PuerpId> org.springframework </frupiid> </clusion> </clusions> </dependency> <pendence> <puperiD> org.apache.zookeeper </groupiD> <stifactId> zookeeper </artifactId> <versão 3,6 </versão> <clusions> <clookeeper> </Artifactid> <versão> 3.6 </versão> <clusions> <clookEper <groupId>org.slf4j</groupId> </exclusion> </exclusion> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>com.hzb.dubbo.provider</groupId> <artifactId>hzbdubbo-provider</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> <build> <plugins> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.2.RELEASE</version> </plugin> </flugins> </fruct> </ject>
Dubbo.xml Configuração:
Aula de inicialização:
Controlador de serviço de chamada de teste
O próximo passo é iniciar o provedor de serviços primeiro e depois iniciar o consumidor
Resultados de execução
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.