Dubbo——小例子的实现——提供方的实现

xiaoxiao2021-02-28  29

需求:用maven创建一个工程,作为我们的service,也就是提供方,再创建一个工程,作为消费方,进行远程调用service方法。

----------------------------------------------------------------------------------------------------------------------------------

目录结构:

步骤:

1、创建maven工程:

pom.xml文件内容:

<project 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.aynu.dubbo.test</groupId> <artifactId>dubbo_test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <spring.version>4.2.4.RELEASE</spring.version> </properties> <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <!-- dubbo相关 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.7</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.11.0.GA</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <!-- 指定端口 --> <port>8999</port> <!-- 请求路径 --> <path>/</path> </configuration> </plugin> </plugins> </build> </project>

2、编写web.xml文件内容:

<filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>

3、在src/main/java中创建包:com.aynu.service,创建一个interface

package com.aynu.dubbo.service; public interface IDubboTest { String sayHello(String name); }

4、在src/main/java中创建包:com.aynu.service.impl,创建一个interface的实现类,编写service方法,将来供消费方远程调用

注意:@Service注解用的是alibaba的,不是spring的!!!!

package com.aynu.dubbo.service.impl; import com.alibaba.dubbo.config.annotation.Service; import com.aynu.dubbo.service.IDubboTest; @Service public class DubboTest implements IDubboTest { public String sayHello(String name) { // TODO Auto-generated method stub return "hello "+name; } } 5、在src/main/resouce中创建spring-service.xml文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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"> <!-- 为应用取个名字,可以随意,建议使用项目名 --> <dubbo:application name="dubbo_test"/> <!-- 与远程注册中心zookeeper建立联系 --> <dubbo:registry address="zookeeper://192.168.146.128:2181"/> <!-- dubbo包扫描器 --> <dubbo:annotation package="com.aynu.dubbo.service.impl"/> </beans>

6、在虚拟机上打开zookeeper注册中心,通过maven进行运行

命令:tomcat7:run

7、打开管控台可以看见我们刚才上传的服务:

转载请注明原文地址: https://www.6miu.com/read-2623674.html

最新回复(0)