由于喜欢尝鲜,于是在Java9出来以后就马上把jdk换成了jdk1.9,结果最近刚学dubbo的时候一直都配置不成功,于是退回jdk1.8。一下就是配置dubbo的过程
zoo.sample.cfg
改为 zoo.cfg
zoo.cfg
,将dataDir修改为指定目录
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/eros/data/zookeeper
clientPort=2181
maxClientCnxns=60
如果是使用jdk8的话,可以在网上下载别人已经修改好的包,jdk1.8-dubbo-admin
下载完成后将war包放在tomcat的webapps目录下
sudo ./zkServer.sh start
sudo ./startup.sh
访问http://localhost:8080/
观察是否启动成功
在浏览器输入http://localhost:8080/dubbo-admin-2.5.4/
,用户名和密码都是root
public interface IService {
int calculate(int x,int y);
}
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();
}
}
}
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();
}
}
}
附:
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>