[置頂]第二章:Dubbo統合maven+spring+springmvc+mybatisのサービスプロバイダ構築


1、ivan-api工事:
[置顶] 第二章:Dubbo整合maven+spring+springmvc+mybatis之服务提供者搭建_第1张图片
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>ivan</groupId>
	<artifactId>ivan-api</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>ivan-api</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>ivan</groupId>
			<artifactId>ivan-entity</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>

	</dependencies>
</project>

dubboサービスインタフェースの露出と消費者注入の使用のためのインタフェースクラスを作成します.
UserService.java
import java.util.List;
import com.ivan.entity.User;

public interface UserService {
	List<User> getUsers();
	User getUserByPrimaryKey(String id);
}

2、ivan-entityエンジニアリング構築、データベースマッピングのエンティティを保存し、後期にmodelとformBeanを保存する.
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>ivan</groupId>
  <artifactId>ivan-entity</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>ivan-entity</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

エンティティUserの作成
import java.io.Serializable;

public class User implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -5451685937793368311L;
	
	private String id;
	private String nickyName;
	private String pwd;
	
	public User(String id,String nickyName,String pwd){
		this.id = id;
		this.nickyName = nickyName;
		this.pwd = pwd;
	}
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getNickyName() {
		return nickyName;
	}
	public void setNickyName(String nickyName) {
		this.nickyName = nickyName;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", nickyName=" + nickyName + ", pwd=" + pwd
				+ "]";
	}
}

3、ivan-coreプロジェクト、サードパーティのjarパッケージを保存するために使用され、後期に公共Utilsツールクラスを保存する(現在はまだ公共ツールクラスに入っていないが、pom.xmlが1つしかない).他のプロジェクトに依存しない:
[置顶] 第二章:Dubbo整合maven+spring+springmvc+mybatis之服务提供者搭建_第2张图片
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>ivan</groupId>
	<artifactId>ivan-core</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>ivan-core</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<spring.version>4.1.4.RELEASE</spring.version>
		<jackson.version>2.5.0</jackson.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<!-- spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</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-context</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</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-test</artifactId>
			<version>${spring.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			<exclusions>
				<exclusion>
					<artifactId>spring</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.6</version>
		</dependency>

		<dependency>
			<groupId>com.netflix.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>1.1.10</version>
		</dependency>

		<dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.6</version>
		</dependency>
		
		<!-- servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>3.0-alpha-1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<!-- mybatis   -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.8</version>
		</dependency>

		<!--mybatis spring    -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.2.2</version>
		</dependency>

		<!-- mysql   -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.34</version>
		</dependency>

		<!--     -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.12</version>
		</dependency>

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.4</version>
		</dependency>

		<!-- json -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.3</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>${jackson.version}</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>${jackson.version}</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.version}</version>
		</dependency>
		<!--      -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>

		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.2.2</version>
		</dependency>
	</dependencies>
</project>

4、ivan-dubbo-server工事の構築、サービスプロバイダの起動クラス、ここではivan-apiの中のインタフェースをテストするために使用され、単独で業務モジュールを創立することができ、ivan-api、ivan-coreに依存する.
[置顶] 第二章:Dubbo整合maven+spring+springmvc+mybatis之服务提供者搭建_第3张图片
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>

	<span style="color:#FF9966;"><groupId>ivan</groupId>
	<artifactId>ivan-dubbo-server</artifactId>
	<version>0.0.1-SNAPSHOT</version></span>
	<packaging>jar</packaging>

	<name>ivan-dubbo-server</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>ivan</groupId>
			<artifactId>ivan-core</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>

		<dependency>
			<groupId>ivan</groupId>
			<artifactId>ivan-api</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>

	</dependencies>
</project>

spring-registryを作成する.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="ivan-dubbo-server" />

	<!--   zookeeper             -->
	<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
  
	<!--  dubbo   20880       -->
	<dubbo:protocol name="dubbo" port="20880" />
	<!-- 
		    :       ,        ,  pacakge      ApplicationContext     。
		    :  package          Service,                       。
	 -->
	<dubbo:annotation package="com" />
</beans>

並べ替えを容易にするためにlog 4 jを配置する.propertiesファイル:
### set log levels ###
log4j.rootLogger = INFO , C , D , E 

### console ###
log4j.appender.C = org.apache.log4j.ConsoleAppender
log4j.appender.C.Target = System.out
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

### log file ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ../logs/ServerManager-Info.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

### exception ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ../logs/ServerManager-Error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

起動クラスを作成しspring-registryをロードします.xmlファイル、これは比較的簡単な起動クラスで、各位の役人は自分で拡張することができます
import java.io.IOException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ServerMain {
	
	public static void main(String[] args) throws IOException {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "spring-registry.xml" });
		context.start();

		System.in.read(); //       
	}
}

ビジネスインプリメンテーションクラスを作成し、ivan-apiのUserServiceインタフェースを実装します(注意:@Serviceにversionなどの他の属性がある場合は、消費者が使用する場合は、必ず一致させなければなりません.そうしないと、消費者はサービスプロバイダが提供する情報を見つけることができません).
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.dubbo.common.json.JSON;
import com.alibaba.dubbo.config.annotation.Service;
import com.ivan.api.dubbo.UserService;
import com.ivan.entity.User;

@Service
public class UserServiceImpl implements UserService {

	private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);
	
	public List<User> getUsers() {
		logger.info("          ");
		
		List<User> listUser = new ArrayList<User>();
		User user1 = new User("1","ivan","123456");
		User user2 = new User("2","jack","123456");
		
		listUser.add(user1);
		listUser.add(user2);
		try {
			logger.info("    :" + JSON.json(listUser));
		} catch (IOException e) {
			e.printStackTrace();
		}
		logger.info("    ");
		return listUser;
	}

	public User getUserByPrimaryKey(String id) {
		User user = new User("1","ivan","123456");
		logger.info("        ,    ID :"+id);
		logger.info("    :" + user.toString());
		return user;
	}

}

これで、サービスプロバイダはすでに構築が完了しており、サーバMainを実行してサービスを開始することができます(登録センターzookeeperが起動に成功したことを前提としています)、ログのエラーが報告されていないか、zookeeperモニタリングソフトウェアを使用して公開されたサービスが登録に成功したかどうかを確認することができます.
これは私の起動成功ログです.
[INFO] [2015-11-11 13:05:27] org.springframework.context.support.AbstractApplicationContext.prepareRefresh(510) | Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@26061947: startup date [Wed Nov 11 13:05:27 CST 2015]; root of context hierarchy
[INFO] [2015-11-11 13:05:27] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(317) | Loading XML bean definitions from class path resource [spring-registry.xml]
[INFO] [2015-11-11 13:05:27] ?.?(?) | using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter
[INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.config.ServiceConfig.exportLocal(510) |  [DUBBO] Export dubbo service com.ivan.api.dubbo.UserService to local registry, dubbo version: 2.5.3, current host: 127.0.0.1
[INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(470) |  [DUBBO] Export dubbo service com.ivan.api.dubbo.UserService to url dubbo://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=5240&side=provider×tamp=1447218329224, dubbo version: 2.5.3, current host: 127.0.0.1
[INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(481) |  [DUBBO] Register dubbo service com.ivan.api.dubbo.UserService url dubbo://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=5240&side=provider×tamp=1447218329224 to registry registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=ivan-dubbo-server&dubbo=2.5.3&pid=5240&registry=zookeeper×tamp=1447218329210, dubbo version: 2.5.3, current host: 127.0.0.1
[INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.remoting.transport.AbstractServer.<init>(69) |  [DUBBO] Start NettyServer bind /0.0.0.0:20880, export /192.168.203.144:20880, dubbo version: 2.5.3, current host: 127.0.0.1
[INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.registry.support.AbstractRegistry.loadProperties(232) |  [DUBBO] Load registry store file C:\Users\ivan\.dubbo\dubbo-registry-127.0.0.1.cache, data: {com.ivan.login.api.Login:1=dubbo://192.168.203.144:20880/com.ivan.login.api.Login?anyhost=true&application=ivan-demoDubbo&dubbo=2.5.3&interface=com.ivan.login.api.Login&methods=doLogin&pid=4040&revision=1&side=provider×tamp=1446777856875&version=1 empty://192.168.203.144/com.ivan.login.api.Login?application=test-springmvc&category=configurators&dubbo=2.5.3&interface=com.ivan.login.api.Login&methods=doLogin&pid=1316&revision=0.0.1-SNAPSHOT&side=consumer×tamp=1446780900353&version=1 empty://192.168.203.144/com.ivan.login.api.Login?application=test-springmvc&category=routers&dubbo=2.5.3&interface=com.ivan.login.api.Login&methods=doLogin&pid=1316&revision=0.0.1-SNAPSHOT&side=consumer×tamp=1446780900353&version=1, com.ivan.server.service.IService=empty://192.168.203.144:20880/com.ivan.server.service.IService?anyhost=true&application=ivan-demoDubbo&category=configurators&check=false&dubbo=2.5.3&interface=com.ivan.server.service.IService&methods=test&pid=7740&side=provider×tamp=1446780992890, com.ivan.dubbo.service.DemoService=dubbo://192.168.203.144:20880/com.ivan.dubbo.service.DemoService?anyhost=true&application=ivan-demoDubbo&dubbo=2.5.3&interface=com.ivan.dubbo.service.DemoService&methods=sayHell&pid=2168&side=provider×tamp=1446619828501 empty://192.168.203.144/com.ivan.dubbo.service.DemoService?application=ivan-demoDubbo&category=configurators&dubbo=2.5.3&interface=com.ivan.dubbo.service.DemoService&methods=sayHell&pid=6508&revision=service&side=consumer×tamp=1446621230513 empty://192.168.203.144/com.ivan.dubbo.service.DemoService?application=ivan-demoDubbo&category=routers&dubbo=2.5.3&interface=com.ivan.dubbo.service.DemoService&methods=sayHell&pid=6508&revision=service&side=consumer×tamp=1446621230513, com.ivan.api.dubbo.UserService=dubbo://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=10692&side=provider×tamp=1447212092933 empty://192.168.203.144/com.ivan.api.dubbo.UserService?application=test-springmvc&category=configurators&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=2012&side=consumer×tamp=1447212242742 empty://192.168.203.144/com.ivan.api.dubbo.UserService?application=test-springmvc&category=routers&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=2012&side=consumer×tamp=1447212242742, com.ivan.dubbo.service.a.DemoServiceA:1.0.0=empty://192.168.203.144:20880/com.ivan.dubbo.service.a.DemoServiceA?anyhost=true&application=ivan-demoDubbo&category=configurators&check=false&dubbo=2.5.3&interface=com.ivan.dubbo.service.a.DemoServiceA&methods=sayHell&pid=2168&revision=1.0.0&side=provider×tamp=1446619827949&version=1.0.0, com.ivan.dubbo.service.a.DemoServiceA=empty://192.168.203.144/com.ivan.dubbo.service.a.DemoServiceA?application=ivan-demoDubbo&category=providers&dubbo=2.5.3&interface=com.ivan.dubbo.service.a.DemoServiceA&methods=sayHell&pid=6172&revision=service&side=consumer×tamp=1446621271949 empty://192.168.203.144/com.ivan.dubbo.service.a.DemoServiceA?application=ivan-demoDubbo&category=configurators&dubbo=2.5.3&interface=com.ivan.dubbo.service.a.DemoServiceA&methods=sayHell&pid=6172&revision=service&side=consumer×tamp=1446621271949 empty://192.168.203.144/com.ivan.dubbo.service.a.DemoServiceA?application=ivan-demoDubbo&category=routers&dubbo=2.5.3&interface=com.ivan.dubbo.service.a.DemoServiceA&methods=sayHell&pid=6172&revision=service&side=consumer×tamp=1446621271949, com.ivan.login.api.Login=dubbo://192.168.203.144:20880/com.ivan.login.api.Login?anyhost=true&application=ivan-demoDubbo&dubbo=2.5.3&interface=com.ivan.login.api.Login&methods=doLogin&pid=7740&side=provider×tamp=1446780993496 empty://192.168.203.144/com.ivan.login.api.Login?application=test-springmvc&category=configurators&dubbo=2.5.3&interface=com.ivan.login.api.Login&methods=doLogin&pid=4124&revision=0.0.1-SNAPSHOT&side=consumer×tamp=1446781152045 empty://192.168.203.144/com.ivan.login.api.Login?application=test-springmvc&category=routers&dubbo=2.5.3&interface=com.ivan.login.api.Login&methods=doLogin&pid=4124&revision=0.0.1-SNAPSHOT&side=consumer×tamp=1446781152045, com.ivan.dubbo.service.UserService=empty://192.168.203.144:20880/com.ivan.dubbo.service.UserService?anyhost=true&application=ivan-dubbo-server&category=configurators&check=false&dubbo=2.5.3&interface=com.ivan.dubbo.service.UserService&methods=getUserByPrimaryKey,getUsers&pid=10488&side=provider×tamp=1447131429769}, dubbo version: 2.5.3, current host: 127.0.0.1
[INFO] [2015-11-11 13:05:29] org.I0Itec.zkclient.ZkEventThread.run(64) | Starting ZkClient event thread.
[INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
[INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:host.name=192.168.203.144
[INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.version=1.7.0_80
[INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.vendor=Oracle Corporation
[INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.home=C:\Program Files\jdk1.7.0_80\jre
[INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.class.path=D:\java\self_workspace\ivan-dubbo-server\target\classes;D:\java\self_workspace\ivan-core\target\classes;D:\maven\repository\org\springframework\spring-core\4.1.4.RELEASE\spring-core-4.1.4.RELEASE.jar;D:\maven\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\maven\repository\org\springframework\spring-beans\4.1.4.RELEASE\spring-beans-4.1.4.RELEASE.jar;D:\maven\repository\org\springframework\spring-context\4.1.4.RELEASE\spring-context-4.1.4.RELEASE.jar;D:\maven\repository\org\springframework\spring-aop\4.1.4.RELEASE\spring-aop-4.1.4.RELEASE.jar;D:\maven\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\maven\repository\org\springframework\spring-expression\4.1.4.RELEASE\spring-expression-4.1.4.RELEASE.jar;D:\maven\repository\org\springframework\spring-tx\4.1.4.RELEASE\spring-tx-4.1.4.RELEASE.jar;D:\maven\repository\org\springframework\spring-web\4.1.4.RELEASE\spring-web-4.1.4.RELEASE.jar;D:\maven\repository\org\springframework\spring-webmvc\4.1.4.RELEASE\spring-webmvc-4.1.4.RELEASE.jar;D:\maven\repository\org\springframework\spring-jdbc\4.1.4.RELEASE\spring-jdbc-4.1.4.RELEASE.jar;D:\maven\repository\com\alibaba\dubbo\2.5.3\dubbo-2.5.3.jar;D:\maven\repository\org\javassist\javassist\3.15.0-GA\javassist-3.15.0-GA.jar;D:\maven\repository\org\jboss
etty
etty\3.2.5.Final
etty-3.2.5.Final.jar;D:\maven\repository\org\apache\zookeeper\zookeeper\3.4.6\zookeeper-3.4.6.jar;D:\maven\repository\org\slf4j\slf4j-api\1.6.1\slf4j-api-1.6.1.jar;D:\maven\repository\org\slf4j\slf4j-log4j12\1.6.1\slf4j-log4j12-1.6.1.jar;D:\maven\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;D:\maven\repository\jline\jline\0.9.94\jline-0.9.94.jar;D:\maven\repository\io
etty
etty\3.7.0.Final
etty-3.7.0.Final.jar;D:\maven\repository\com
etflix\curator\curator-framework\1.1.10\curator-framework-1.1.10.jar;D:\maven\repository\com
etflix\curator\curator-client\1.1.10\curator-client-1.1.10.jar;D:\maven\repository\com\google\guava\guava\11.0.1\guava-11.0.1.jar;D:\maven\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;D:\maven\repository\com\101tec\zkclient\0.6\zkclient-0.6.jar;D:\maven\repository\javax\servlet\jstl\1.2\jstl-1.2.jar;D:\maven\repository\org\mybatis\mybatis\3.2.8\mybatis-3.2.8.jar;D:\maven\repository\org\mybatis\mybatis-spring\1.2.2\mybatis-spring-1.2.2.jar;D:\maven\repository\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar;D:\maven\repository\com\alibaba\druid\1.0.12\druid-1.0.12.jar;C:\Program Files\jdk1.7.0_80\lib\jconsole.jar;C:\Program Files\jdk1.7.0_80\lib\tools.jar;D:\maven\repository\org\aspectj\aspectjweaver\1.8.4\aspectjweaver-1.8.4.jar;D:\maven\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;D:\maven\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;D:\maven\repository\com\alibaba\fastjson\1.2.3\fastjson-1.2.3.jar;D:\maven\repository\com\fasterxml\jackson\core\jackson-annotations\2.5.0\jackson-annotations-2.5.0.jar;D:\maven\repository\com\fasterxml\jackson\core\jackson-core\2.5.0\jackson-core-2.5.0.jar;D:\maven\repository\com\fasterxml\jackson\core\jackson-databind\2.5.0\jackson-databind-2.5.0.jar;D:\maven\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;D:\maven\repository\commons-fileupload\commons-fileupload\1.2.2\commons-fileupload-1.2.2.jar;D:\java\self_workspace\ivan-api\target\classes;D:\java\self_workspace\ivan-entity\target\classes [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.library.path=C:\Program Files\jdk1.7.0_80\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/jdk1.7.0_80/bin/../jre/bin/server;C:/Program Files/jdk1.7.0_80/bin/../jre/bin;C:/Program Files/jdk1.7.0_80/bin/../jre/lib/amd64;C:\Program Files (x86)\Common Files\NetSarang;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\TortoiseSVN\bin;C:\Program Files\jdk1.7.0_80\bin;C:\Program Files\jdk1.7.0_80\jre\bin;C:\Program Files (x86)
odejs\;D:\develop\apache-maven-3.2.5\bin;C:\Users\ivan\AppData\Roaming
pm;D:\codetools\eclipse-jee-kepler-SR2-win32-x86_64;;. [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.io.tmpdir=C:\Users\ivan\AppData\Local\Temp\ [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:java.compiler=<NA> [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:os.name=Windows 7 [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:os.arch=amd64 [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:os.version=6.1 [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:user.name=ivan [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:user.home=C:\Users\ivan [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.Environment.logEnv(100) | Client environment:user.dir=D:\java\self_workspace\ivan-dubbo-server [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.ZooKeeper.<init>(438) | Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 watcher=org.I0Itec.zkclient.ZkClient@22a7106 [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.ClientCnxn$SendThread.logStartConnect(975) | Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.ClientCnxn$SendThread.primeConnection(852) | Socket connection established to 127.0.0.1/127.0.0.1:2181, initiating session [WARN] [2015-11-11 13:05:29] org.apache.zookeeper.ClientCnxnSocket.readConnectResult(139) | Connected to an old server; r-o mode will be unavailable [INFO] [2015-11-11 13:05:29] org.apache.zookeeper.ClientCnxn$SendThread.onConnected(1235) | Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x150efc123d9000b, negotiated timeout = 30000 [INFO] [2015-11-11 13:05:29] org.I0Itec.zkclient.ZkClient.processStateChanged(704) | zookeeper state changed (SyncConnected) [INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.registry.support.AbstractRegistry.register(302) | [DUBBO] Register: dubbo://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=5240&side=provider×tamp=1447218329224, dubbo version: 2.5.3, current host: 127.0.0.1 [INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.registry.support.AbstractRegistry.subscribe(325) | [DUBBO] Subscribe: provider://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&category=configurators&check=false&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=5240&side=provider×tamp=1447218329224, dubbo version: 2.5.3, current host: 127.0.0.1 [INFO] [2015-11-11 13:05:29] com.alibaba.dubbo.registry.support.AbstractRegistry.notify(422) | [DUBBO] Notify urls for subscribe url provider://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&category=configurators&check=false&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=5240&side=provider×tamp=1447218329224, urls: [empty://192.168.203.144:20880/com.ivan.api.dubbo.UserService?anyhost=true&application=ivan-dubbo-server&category=configurators&check=false&dubbo=2.5.3&interface=com.ivan.api.dubbo.UserService&methods=getUserByPrimaryKey,getUsers&pid=5240&side=provider×tamp=1447218329224], dubbo version: 2.5.3, current host: 127.0.0.1

では、次の章では、サービス消費者ivan-dubbo-webプロジェクトを構築します.