jdk8配置dubbo2.5.4

由于喜欢尝鲜,于是在Java9出来以后就马上把jdk换成了jdk1.9,结果最近刚学dubbo的时候一直都配置不成功,于是退回jdk1.8。一下就是配置dubbo的过程

安装Zookeeper

  1. 下载Zookeeper,然后把conf目录下的zoo.sample.cfg 改为 zoo.cfg
  2. 修改zoo.cfg,将dataDir修改为指定目录

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/eros/data/zookeeper
    clientPort=2181
    maxClientCnxns=60

安装tomcat

下载dubbo-admin包

如果是使用jdk8的话,可以在网上下载别人已经修改好的包,jdk1.8-dubbo-admin
下载完成后将war包放在tomcat的webapps目录下
jdk8配置dubbo2.5.4_第1张图片

启动Zookeeper服务器

sudo ./zkServer.sh start

启动tomcat

sudo ./startup.sh

访问http://localhost:8080/ 观察是否启动成功

在浏览器输入http://localhost:8080/dubbo-admin-2.5.4/,用户名和密码都是root
jdk8配置dubbo2.5.4_第2张图片

在Common模块中定义所有要暴露的接口

public interface IService {
    int calculate(int x,int y);
}

启动Server

dubbo.xml


<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">

    <bean id="providerImpl" class="org.eros.dubbo.server.service.ProviderServiceImpl"/>

    
    <dubbo:protocol name="dubbo" port="19091"/>
    
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
    
    <dubbo:application name="ProviderService"/>
    <dubbo:service interface="org.eros.dubbo.common.entity.IService" ref="providerImpl" timeout="100000"/>

beans>

Spring配置类

@Configuration
@ComponentScan
@ImportResource("classpath:dubbo.xml")
@EnableAspectJAutoProxy
public class Configure {
}

接口的具体实现

public class ProviderServiceImpl implements IService{

    @Override
    public int calculate(int x, int y) {
        return x+y;
    }
}
import java.io.IOException;

public class Main {
    private static final Logger logger= LogManager.getLogger(Main.class);
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(Configure.class);
        context.start();
        logger.debug("提供者服务已注册成功!");
        try {
            System.in.read();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

查看控制台

jdk8配置dubbo2.5.4_第3张图片

启动客户端

dubbo.xml


<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="consumer"/>
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
    <dubbo:reference interface="org.eros.dubbo.common.entity.IService" id="providerService" timeout="100000" check="false"/>

beans>

Spring配置文件

@Configuration
@ComponentScan
@ImportResource("classpath:dubbo.xml")
public class Configure {
}
public class Main {
    private static final Logger logger= LogManager.getLogger(Main.class);
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(Configure.class);
        context.start();
        IService providerService= (IService) context.getBean("providerService");
        int result=providerService.calculate(3,7);
        logger.debug("result is "+result);
        try {
            System.in.read();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


查看控制台
jdk8配置dubbo2.5.4_第4张图片

附:
Server.pom


<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">
    <parent>
        <artifactId>DubboDemoartifactId>
        <groupId>org.erosgroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>ServerartifactId>

    <properties>
        <junit.version>4.12junit.version>
        <druid.version>1.1.3druid.version>
        <spring.version>4.3.11.RELEASEspring.version>
        <hibernate.version>5.2.10.Finalhibernate.version>
        <redis.version>2.9.0redis.version>
        <mysql.version>6.0.6mysql.version>
        <log4j.version>2.9.1log4j.version>
        <springdata.version>1.11.7.RELEASEspringdata.version>
        <springdata-redis.version>1.8.7.RELEASEspringdata-redis.version>
        <fastjson.version>1.2.38fastjson.version>
        <zookeeper.version>3.4.10zookeeper.version>
        <dubbo.version>2.5.4dubbo.version>
    properties>

    <dependencies>

        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>${junit.version}version>
            <scope>testscope>
        dependency>


        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
            <version>${druid.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-contextartifactId>
            <version>${spring.version}version>
        dependency>

        
        <dependency>
            <groupId>org.aspectjgroupId>
            <artifactId>aspectjweaverartifactId>
            <version>1.8.11version>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-ormartifactId>
            <version>${spring.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
            <version>${spring.version}version>
            <scope>testscope>
        dependency>


        
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-coreartifactId>
            <version>${hibernate.version}version>
        dependency>


        
        <dependency>
            <groupId>redis.clientsgroupId>
            <artifactId>jedisartifactId>
            <version>${redis.version}version>
        dependency>

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>${mysql.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframework.datagroupId>
            <artifactId>spring-data-redisartifactId>
            <version>${springdata-redis.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframework.datagroupId>
            <artifactId>spring-data-jpaartifactId>
            <version>${springdata.version}version>
        dependency>

        
        <dependency>
            <groupId>org.apache.logging.log4jgroupId>
            <artifactId>log4j-coreartifactId>
            <version>${log4j.version}version>
        dependency>

        
        <dependency>
            <groupId>org.apache.logging.log4jgroupId>
            <artifactId>log4j-slf4j-implartifactId>
            <version>${log4j.version}version>
        dependency>

        <dependency>
            <artifactId>CommonartifactId>
            <groupId>org.erosgroupId>
            <version>1.0-SNAPSHOTversion>
        dependency>

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>${fastjson.version}version>
        dependency>

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>dubboartifactId>
            <version>${dubbo.version}version>
            <exclusions>
                <exclusion>
                    <artifactId>springartifactId>
                    <groupId>org.springframeworkgroupId>
                exclusion>
            exclusions>
        dependency>

        
        <dependency>
            <groupId>org.apache.zookeepergroupId>
            <artifactId>zookeeperartifactId>
            <version>${zookeeper.version}version>
            <exclusions>
                <exclusion>
                    <groupId>log4jgroupId>
                    <artifactId>log4jartifactId>
                exclusion>
                <exclusion>
                    <groupId>io.nettygroupId>
                    <artifactId>nettyartifactId>
                exclusion>
                <exclusion>
                    <groupId>org.slf4jgroupId>
                    <artifactId>slf4j-log4j12artifactId>
                exclusion>
            exclusions>
        dependency>

        
        <dependency>
            <groupId>com.101tecgroupId>
            <artifactId>zkclientartifactId>
            <version>0.10version>
        dependency>


    dependencies>

project>

client.pom

<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/maven-v4_0_0.xsd">
    <parent>
        <artifactId>DubboDemoartifactId>
        <groupId>org.erosgroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>
    <artifactId>ClientartifactId>
    <packaging>warpackaging>
    <name>Client Maven Webappname>
    <url>http://maven.apache.orgurl>

    <properties>
        <junit.version>4.12junit.version>
        <druid.version>1.1.3druid.version>
        <spring.version>4.3.11.RELEASEspring.version>
        <hibernate.version>5.2.10.Finalhibernate.version>
        <redis.version>2.9.0redis.version>
        <mysql.version>6.0.6mysql.version>
        <servlet.version>4.0.0servlet.version>
        <fastjson.version>1.2.38fastjson.version>
        <jsp.version>2.3.1jsp.version>
        <log4j.version>2.9.1log4j.version>
        <springdata.version>1.11.7.RELEASEspringdata.version>
        <springdata-redis.version>1.8.7.RELEASEspringdata-redis.version>
        <zookeeper.version>3.4.10zookeeper.version>
        <dubbo.version>2.5.4dubbo.version>
    properties>

    <dependencies>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
            <scope>testscope>
        dependency>

        <dependency>
            <artifactId>CommonartifactId>
            <groupId>org.erosgroupId>
            <version>1.0-SNAPSHOTversion>
        dependency>

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
            <version>${druid.version}version>
        dependency>

        
        <dependency>
            <groupId>org.aspectjgroupId>
            <artifactId>aspectjweaverartifactId>
            <version>1.8.11version>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>${spring.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-ormartifactId>
            <version>${spring.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
            <version>${spring.version}version>
            <scope>testscope>
        dependency>


        
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-coreartifactId>
            <version>${hibernate.version}version>
        dependency>


        
        <dependency>
            <groupId>redis.clientsgroupId>
            <artifactId>jedisartifactId>
            <version>${redis.version}version>
        dependency>

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>${mysql.version}version>
        dependency>

        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>${servlet.version}version>
            <scope>providedscope>
        dependency>

        
        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>javax.servlet.jsp-apiartifactId>
            <version>${jsp.version}version>
            <scope>providedscope>
        dependency>

        
        <dependency>
            <groupId>org.springframework.datagroupId>
            <artifactId>spring-data-redisartifactId>
            <version>${springdata-redis.version}version>
        dependency>

        
        <dependency>
            <groupId>org.springframework.datagroupId>
            <artifactId>spring-data-jpaartifactId>
            <version>${springdata.version}version>
        dependency>

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>${fastjson.version}version>
        dependency>

        
        <dependency>
            <groupId>org.apache.logging.log4jgroupId>
            <artifactId>log4j-coreartifactId>
            <version>${log4j.version}version>
        dependency>

        
        <dependency>
            <groupId>org.apache.logging.log4jgroupId>
            <artifactId>log4j-slf4j-implartifactId>
            <version>${log4j.version}version>
        dependency>


        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>dubboartifactId>
            <version>${dubbo.version}version>
            <exclusions>
                <exclusion>
                    <artifactId>springartifactId>
                    <groupId>org.springframeworkgroupId>
                exclusion>
            exclusions>
        dependency>

        
        <dependency>
            <groupId>org.apache.zookeepergroupId>
            <artifactId>zookeeperartifactId>
            <version>${zookeeper.version}version>
            <exclusions>
                <exclusion>
                    <groupId>log4jgroupId>
                    <artifactId>log4jartifactId>
                exclusion>
                <exclusion>
                    <groupId>io.nettygroupId>
                    <artifactId>nettyartifactId>
                exclusion>
                <exclusion>
                    <groupId>org.slf4jgroupId>
                    <artifactId>slf4j-log4j12artifactId>
                exclusion>
            exclusions>
        dependency>

        
        <dependency>
            <groupId>com.101tecgroupId>
            <artifactId>zkclientartifactId>
            <version>0.10version>
        dependency>

    dependencies>
    <build>
        <finalName>ClientfinalName>
    build>
project>

你可能感兴趣的:(java,web)