Commit 6e66bcf9 by yangjinjue

Initial commit

parents
# maven ignore
target/
*.jar
*.war
*.zip
*.tar
*.tar.gz
# eclipse ignore
.settings/
.project
.classpath
# idea ignore
.idea/
*.ipr
*.iml
*.iws
# temp ignore
*.log
*.cache
*.diff
*.patch
*.tmp
# system ignore
.DS_Store
Thumbs.db
# spring-boot-dubbo-demo
## 项目简介
### 1. 服务端介绍
* 配置文件 `application.properties`
```
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://localhost:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20879
## 本机的IP地址
spring.dubbo.protocol.host=localhost
spring.dubbo.scan=com.zhiwei.demo.server
## 设置Module
spring.dubbo.module.default=false
```
`spring.dubbo.scan`表示要扫描的`package`目录。
* 启动入口 `com.zhiwei.demo.server.Server`
```
@SpringBootApplication
public class Server {
private static Logger logger = LoggerFactory.getLogger(Server.class);
public static void main(String[] args) {
logger.info("SpringBoot initial Before");
ConfigurableApplicationContext run = SpringApplication.run(Server.class, args);
logger.info("SpringBoot initial After");
}
}
```
### 2. 客户端介绍
* 配置文件 `application.properties`
```
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://localhost:2181
spring.dubbo.scan=com.zhiwei.demo.client
spring.dubbo.module.default=false
```
`spring.dubbo.scan`表示要扫描的`package`目录。
* 启动入口 `com.zhiwei.demo.client.Client`
```
@SpringBootApplication
public class Client {
private static Logger logger = LoggerFactory.getLogger(Client.class);
public static void main(String[] args) {
ConfigurableApplicationContext run = SpringApplication.run(Client.class, args);
HelloService helloService = run.getBean(HelloService.class);
logger.info(helloService.hello("hello"));
}
}
```
<?xml version="1.0" encoding="UTF-8"?>
<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>dubbo-demo-parent</artifactId>
<groupId>com.zhiwei.demo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-demo-api</artifactId>
</project>
\ No newline at end of file
package com.zhiwei.demo.api;
/**
* Created with IDEA
* author:jinjueYang
* Date:2018/3/13
* Time:13:49
*/
public interface EchoService {
void echo(String text);
String hello(String text);
}
<?xml version="1.0" encoding="UTF-8"?>
<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>dubbo-demo-parent</artifactId>
<groupId>com.zhiwei.demo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-demo-client</artifactId>
<dependencies>
<dependency>
<groupId>com.zhiwei.demo</groupId>
<artifactId>dubbo-demo-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<!--使用log4j需要不包括logback-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--log4j配置-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springboot.version}</version>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.zhiwei.demo.client;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
/**
* Created with IDEA
* author:jinjueYang
* Date:2018/3/13
* Time:13:57
*/
@SpringBootApplication
public class Client {
private static Logger logger = LoggerFactory.getLogger(Client.class);
public static void main(String[] args) {
ConfigurableApplicationContext run = SpringApplication.run(Client.class, args);
HelloService helloService = run.getBean(HelloService.class);
logger.info(helloService.hello("hello"));
}
}
package com.zhiwei.demo.client;
import com.alibaba.dubbo.config.annotation.Reference;
import com.zhiwei.demo.api.EchoService;
import org.springframework.stereotype.Component;
/**
* Created with IDEA
* author:jinjueYang
* Date:2018/3/13
* Time:13:52
*/
@Component
public class HelloService {
@Reference
private EchoService echoService;
public String hello(String text){
echoService.echo(text);
return echoService.hello(text);
}
}
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://localhost:2181
spring.dubbo.scan=com.zhiwei.demo.client
spring.dubbo.module.default=false
log4j.rootLogger=info,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.logger.org.apache.commons.httpclient=info
log4j.logger.httpclient.wire.content=info
log4j.logger.httpclient.wire.header=info
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log/demo-client.log
log4j.appender.R.MaxFileSize= 2MB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=20
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%l %-5p [%d{yyyy-MM-dd HH\:mm\:ss}] %m%n
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<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.zhiwei.demo</groupId>
<artifactId>dubbo-demo-parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>client</module>
<module>server</module>
<module>api</module>
</modules>
<properties>
<java.version>1.8</java.version>
<springboot.version>1.3.5.RELEASE</springboot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${springboot.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<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>dubbo-demo-parent</artifactId>
<groupId>com.zhiwei.demo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-demo-server</artifactId>
<dependencies>
<dependency>
<groupId>com.zhiwei.demo</groupId>
<artifactId>dubbo-demo-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<!--使用log4j需要不包括logback-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--log4j配置-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springboot.version}</version>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.zhiwei.demo.server;
import com.alibaba.dubbo.config.annotation.Service;
import com.zhiwei.demo.api.EchoService;
/**
* Created with IDEA
* author:jinjueYang
* Date:2018/3/13
* Time:14:05
*/
@Service
public class EchoServiceImpl implements EchoService {
@Override
public void echo(String text) {
System.out.println("echo:"+text);
}
@Override
public String hello(String text) {
return text;
}
}
package com.zhiwei.demo.server;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
/**
* Created with IDEA
* author:jinjueYang
* Date:2018/3/13
* Time:14:01
*/
@SpringBootApplication
public class Server {
private static Logger logger = LoggerFactory.getLogger(Server.class);
public static void main(String[] args) {
logger.info("SpringBoot initial Before");
ConfigurableApplicationContext run = SpringApplication.run(Server.class, args);
logger.info("SpringBoot initial After");
}
}
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://localhost:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20879
## 本机的IP地址
spring.dubbo.protocol.host=localhost
spring.dubbo.scan=com.zhiwei.demo.server
## 设置Module
spring.dubbo.module.default=false
log4j.rootLogger=info,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.logger.org.apache.commons.httpclient=info
log4j.logger.httpclient.wire.content=info
log4j.logger.httpclient.wire.header=info
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log/demo-server.log
log4j.appender.R.MaxFileSize= 2MB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=20
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%l %-5p [%d{yyyy-MM-dd HH\:mm\:ss}] %m%n
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment