wuxw7
2017-04-05 678ebc7cc519bcbe42b30edbc6070381ea1016e9
spring cloud feign 服务间调用测试实现
1 文件已重命名
52个文件已添加
11个文件已修改
1810 ■■■■ 已修改文件
.idea/compiler.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/encodings.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_netflix_feign_feign_core_8_16_2.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_netflix_feign_feign_hystrix_8_16_2.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_netflix_feign_feign_slf4j_8_16_2.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_jvnet_animal_sniffer_annotation_1_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_1_5_RELEASE.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_feign_1_1_5_RELEASE.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/modules.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/uiDesigner.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/workspace.xml 768 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/UserService.iml 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/java/com/java110/AppSpringBootApplication.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/resources/application.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/target/classes/application.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/target/classes/com/java110/App.class 补丁 | 查看 | 原始文档 | blame | 历史
UserService/target/classes/com/java110/AppSpringBootApplication.class 补丁 | 查看 | 原始文档 | blame | 历史
UserService/target/classes/com/java110/user/smo/TestServiceSMOImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
UserService/target/classes/com/java110/user/smo/UserServiceSMOImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
UserService/target/test-classes/com/java110/AppTest.class 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/Wechat.iml 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/pom.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/src/main/java/com/java110/App.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/src/main/java/com/java110/AppSpringBootApplication.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/src/main/java/com/java110/feign/test/TestController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/src/main/resources/application-ribbon.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/src/main/resources/application.yml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/src/test/java/com/java110/AppTest.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/target/classes/application-ribbon.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/target/classes/application.yml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/target/classes/com/java110/App.class 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/target/classes/com/java110/AppSpringBootApplication.class 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/target/classes/com/java110/feign/test/TestController.class 补丁 | 查看 | 原始文档 | blame | 历史
Wechat/target/test-classes/com/java110/AppTest.class 补丁 | 查看 | 原始文档 | blame | 历史
bean/target/classes/com/java110/App.class 补丁 | 查看 | 原始文档 | blame | 历史
bean/target/test-classes/com/java110/AppTest.class 补丁 | 查看 | 原始文档 | blame | 历史
common/target/classes/com/java110/App.class 补丁 | 查看 | 原始文档 | blame | 历史
common/target/test-classes/com/java110/AppTest.class 补丁 | 查看 | 原始文档 | blame | 历史
config/config.iml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eureka/src/main/resources/application.yml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eureka/target/classes/application-ha.yml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eureka/target/classes/application.yml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
eureka/target/classes/com/java110/App.class 补丁 | 查看 | 原始文档 | blame | 历史
eureka/target/classes/com/java110/ConfigServerEurekaApplication.class 补丁 | 查看 | 原始文档 | blame | 历史
eureka/target/test-classes/com/java110/AppTest.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/feign.iml 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/pom.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/App.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/test/HystrixClientFallback.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/test/TestFeignHystrixClient.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/user/User.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/user/smo/TestServiceSMOImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/user/smo/UserServiceSMOImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/test/java/com/java110/AppTest.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/classes/com/java110/App.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/classes/com/java110/feign/test/HystrixClientFallback.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/classes/com/java110/feign/test/TestFeignHystrixClient.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/classes/com/java110/feign/user/User.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/classes/com/java110/feign/user/smo/TestServiceSMOImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/classes/com/java110/feign/user/smo/UserServiceSMOImpl.class 补丁 | 查看 | 原始文档 | blame | 历史
feign/target/test-classes/com/java110/AppTest.class 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/compiler.xml
@@ -10,10 +10,12 @@
        <module name="common" />
        <module name="config" />
        <module name="eureka" />
        <module name="feign" />
        <module name="MerchantService" />
        <module name="OrderService" />
        <module name="PayService" />
        <module name="UserService" />
        <module name="Wechat" />
      </profile>
    </annotationProcessing>
    <bytecodeTargetLevel>
@@ -21,12 +23,14 @@
      <module name="common" target="1.6" />
      <module name="config" target="1.6" />
      <module name="eureka" target="1.6" />
      <module name="feign" target="1.6" />
      <module name="MerchantService" target="1.6" />
      <module name="MicroCommunity" target="1.6" />
      <module name="OrderService" target="1.6" />
      <module name="PayService" target="1.6" />
      <module name="UserService" target="1.6" />
      <module name="UserSevice" target="1.6" />
      <module name="Wechat" target="1.6" />
    </bytecodeTargetLevel>
  </component>
</project>
.idea/encodings.xml
@@ -3,15 +3,15 @@
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/MerchantService" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/MerchantService" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/OrderService" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/PayService" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/UserService" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/UserSevice" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/Wechat" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/bean" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/common" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/config" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/eureka" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/feign" charset="UTF-8" />
    <file url="PROJECT" charset="UTF-8" />
  </component>
</project>
.idea/libraries/Maven__com_netflix_feign_feign_core_8_16_2.xml
New file
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.netflix.feign:feign-core:8.16.2">
    <CLASSES>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-core/8.16.2/feign-core-8.16.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-core/8.16.2/feign-core-8.16.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-core/8.16.2/feign-core-8.16.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_netflix_feign_feign_hystrix_8_16_2.xml
New file
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.netflix.feign:feign-hystrix:8.16.2">
    <CLASSES>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-hystrix/8.16.2/feign-hystrix-8.16.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-hystrix/8.16.2/feign-hystrix-8.16.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-hystrix/8.16.2/feign-hystrix-8.16.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_netflix_feign_feign_slf4j_8_16_2.xml
New file
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.netflix.feign:feign-slf4j:8.16.2">
    <CLASSES>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-slf4j/8.16.2/feign-slf4j-8.16.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-slf4j/8.16.2/feign-slf4j-8.16.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$M2_REPO$/com/netflix/feign/feign-slf4j/8.16.2/feign-slf4j-8.16.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_jvnet_animal_sniffer_annotation_1_0.xml
New file
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.jvnet:animal-sniffer-annotation:1.0">
    <CLASSES>
      <root url="jar://$M2_REPO$/org/jvnet/animal-sniffer-annotation/1.0/animal-sniffer-annotation-1.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$M2_REPO$/org/jvnet/animal-sniffer-annotation/1.0/animal-sniffer-annotation-1.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$M2_REPO$/org/jvnet/animal-sniffer-annotation/1.0/animal-sniffer-annotation-1.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_1_5_RELEASE.xml
New file
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.springframework.cloud:spring-cloud-starter-eureka:1.1.5.RELEASE">
    <CLASSES>
      <root url="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-starter-eureka/1.1.5.RELEASE/spring-cloud-starter-eureka-1.1.5.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-starter-eureka/1.1.5.RELEASE/spring-cloud-starter-eureka-1.1.5.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-starter-eureka/1.1.5.RELEASE/spring-cloud-starter-eureka-1.1.5.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_feign_1_1_5_RELEASE.xml
New file
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.springframework.cloud:spring-cloud-starter-feign:1.1.5.RELEASE">
    <CLASSES>
      <root url="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-starter-feign/1.1.5.RELEASE/spring-cloud-starter-feign-1.1.5.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-starter-feign/1.1.5.RELEASE/spring-cloud-starter-feign-1.1.5.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-starter-feign/1.1.5.RELEASE/spring-cloud-starter-feign-1.1.5.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/modules.xml
@@ -7,10 +7,12 @@
      <module fileurl="file://$PROJECT_DIR$/OrderService/OrderService.iml" filepath="$PROJECT_DIR$/OrderService/OrderService.iml" />
      <module fileurl="file://$PROJECT_DIR$/PayService/PayService.iml" filepath="$PROJECT_DIR$/PayService/PayService.iml" />
      <module fileurl="file://$PROJECT_DIR$/UserService/UserService.iml" filepath="$PROJECT_DIR$/UserService/UserService.iml" />
      <module fileurl="file://$PROJECT_DIR$/Wechat/Wechat.iml" filepath="$PROJECT_DIR$/Wechat/Wechat.iml" />
      <module fileurl="file://$PROJECT_DIR$/bean/bean.iml" filepath="$PROJECT_DIR$/bean/bean.iml" />
      <module fileurl="file://$PROJECT_DIR$/common/common.iml" filepath="$PROJECT_DIR$/common/common.iml" />
      <module fileurl="file://$PROJECT_DIR$/config/config.iml" filepath="$PROJECT_DIR$/config/config.iml" />
      <module fileurl="file://$PROJECT_DIR$/eureka/eureka.iml" filepath="$PROJECT_DIR$/eureka/eureka.iml" />
      <module fileurl="file://$PROJECT_DIR$/feign/feign.iml" filepath="$PROJECT_DIR$/feign/feign.iml" />
    </modules>
  </component>
</project>
.idea/uiDesigner.xml
New file
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Palette2">
    <group name="Swing">
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
      </item>
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
        <initial-values>
          <property name="text" value="Button" />
        </initial-values>
      </item>
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="RadioButton" />
        </initial-values>
      </item>
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="CheckBox" />
        </initial-values>
      </item>
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="Label" />
        </initial-values>
      </item>
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
          <preferred-size width="-1" height="20" />
        </default-constraints>
      </item>
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
      </item>
    </group>
  </component>
</project>
.idea/workspace.xml
@@ -2,109 +2,38 @@
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="a191bf23-5de1-438a-810e-95cec23d6b25" name="Default" comment="">
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_amazonaws_aws_java_sdk_autoscaling_1_11_18.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_amazonaws_aws_java_sdk_core_1_11_18.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_amazonaws_aws_java_sdk_ec2_1_11_18.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_amazonaws_aws_java_sdk_route53_1_11_18.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_amazonaws_aws_java_sdk_sts_1_11_18.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_cbor_2_8_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_google_guava_guava_18_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_google_inject_guice_4_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_4.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_4_10.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_4_10.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_governator_governator_1_12_10.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_governator_governator_api_1_12_10.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_governator_governator_core_1_12_10.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_3.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_servo_servo_core_0_10_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_servo_servo_internal_0_10_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_19_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_sun_jersey_jersey_servlet_1_19_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_logging_commons_logging_1_1_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_buffer_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_codec_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_codec_http_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_common_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_handler_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_transport_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_reactivex_rxjava_1_1_5.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__javax_inject_javax_inject_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_5.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_47.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_47.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_freemarker_freemarker_2_3_25_incubating.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_7.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_1_4_0_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_1_1_1_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_1_1_1_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_1_1_1_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_4_1_1_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_1_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__stax_stax_api_1_0_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/README.md" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/config.iml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/pom.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/src/main/resources/logback.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceMapper.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/src/main/resources/spring/application-dev.properties" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/src/main/resources/spring/application.properties" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/eureka/eureka.iml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/eureka/pom.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/eureka/src/main/docker/dockerfile" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/eureka/src/main/resources/application-ha.yml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/eureka/src/main/resources/application.yml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_feign_feign_core_8_16_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_feign_feign_hystrix_8_16_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_netflix_feign_feign_slf4j_8_16_2.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_jvnet_animal_sniffer_annotation_1_0.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_feign_1_1_5_RELEASE.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/UserService/src/main/resources/application.yml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Wechat/Wechat.iml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Wechat/pom.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Wechat/src/main/java/com/java110/AppSpringBootApplication.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Wechat/src/main/java/com/java110/feign/test/TestController.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Wechat/src/main/resources/application-ribbon.yml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Wechat/src/main/resources/application.yml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/feign/feign.iml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/feign/pom.xml" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/test/HystrixClientFallback.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/test/TestFeignHystrixClient.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/smo/TestServiceSMOImpl.java" />
      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/smo/UserServiceSMOImpl.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/compiler.xml" afterPath="$PROJECT_DIR$/.idea/compiler.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/encodings.xml" afterPath="$PROJECT_DIR$/.idea/encodings.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/modules.xml" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/PayService/PayService.iml" afterPath="$PROJECT_DIR$/PayService/PayService.iml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Readme.md" afterPath="$PROJECT_DIR$/Readme.md" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/UserService.iml" afterPath="$PROJECT_DIR$/UserService/UserService.iml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/pom.xml" afterPath="$PROJECT_DIR$/UserService/pom.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/config.iml" afterPath="$PROJECT_DIR$/config/config.iml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java" afterPath="$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/eureka/src/main/resources/application.yml" afterPath="$PROJECT_DIR$/eureka/src/main/resources/application.yml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pom.xml" afterPath="$PROJECT_DIR$/pom.xml" />
      <change type="MOVED" beforePath="$PROJECT_DIR$/bean/src/main/java/com/java110/user/User.java" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/User.java" />
    </list>
    <ignored path="$PROJECT_DIR$/out/" />
    <ignored path="$PROJECT_DIR$/target/" />
@@ -117,6 +46,8 @@
    <ignored path="$PROJECT_DIR$/PayService/target/" />
    <ignored path="$PROJECT_DIR$/eureka/target/" />
    <ignored path="$PROJECT_DIR$/config/target/" />
    <ignored path="$PROJECT_DIR$/Wechat/target/" />
    <ignored path="$PROJECT_DIR$/feign/target/" />
    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
    <option name="TRACKING_ENABLED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
@@ -129,38 +60,15 @@
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FileEditorManager">
    <leaf>
      <file leaf-file-name="Readme.md" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/Readme.md">
          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
            <state split_layout="SPLIT">
              <first_editor relative-caret-position="102">
                <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
                <folding />
              </first_editor>
              <second_editor />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="AppSpringBootApplication.java" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
      <file leaf-file-name="TestController.java" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/Wechat/src/main/java/com/java110/feign/test/TestController.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="187">
              <caret line="11" column="16" lean-forward="true" selection-start-line="11" selection-start-column="16" selection-end-line="11" selection-end-column="16" />
            <state relative-caret-position="269">
              <caret line="26" column="0" lean-forward="false" selection-start-line="26" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="ConfigServerEurekaApplication.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="153">
              <caret line="15" column="25" lean-forward="false" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="25" />
              <folding />
            </state>
          </provider>
        </entry>
@@ -196,10 +104,8 @@
        <option value="$PROJECT_DIR$/UserSevice/README.md" />
        <option value="$PROJECT_DIR$/UserSevice/pom.xml" />
        <option value="$PROJECT_DIR$/common/pom.xml" />
        <option value="$PROJECT_DIR$/UserService/pom.xml" />
        <option value="$PROJECT_DIR$/UserService/README.md" />
        <option value="$PROJECT_DIR$/MerchantService/pom.xml" />
        <option value="$PROJECT_DIR$/pom.xml" />
        <option value="$PROJECT_DIR$/MerchantService/README.md" />
        <option value="$PROJECT_DIR$/OrderService/pom.xml" />
        <option value="$PROJECT_DIR$/OrderService/README.md" />
@@ -209,7 +115,24 @@
        <option value="$PROJECT_DIR$/config/pom.xml" />
        <option value="$PROJECT_DIR$/config/README.md" />
        <option value="$PROJECT_DIR$/Readme.md" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/UserServiceSMOImpl.java" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/TestServiceSMOImpl.java" />
        <option value="$PROJECT_DIR$/eureka/src/main/resources/application.yml" />
        <option value="$PROJECT_DIR$/UserService/src/main/resources/application.yml" />
        <option value="$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java" />
        <option value="$PROJECT_DIR$/UserService/pom.xml" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java" />
        <option value="$PROJECT_DIR$/Wechat/src/main/resources/application.yml" />
        <option value="$PROJECT_DIR$/Wechat/src/main/java/com/java110/test/feign/UserFeignHystrixClient.java" />
        <option value="$PROJECT_DIR$/Wechat/src/main/java/com/java110/AppSpringBootApplication.java" />
        <option value="$PROJECT_DIR$/Wechat/src/main/java/com/java110/test/feign/HystrixClientFallback.java" />
        <option value="$PROJECT_DIR$/Wechat/src/main/java/com/java110/test/feign/TestFeignHystrixClient.java" />
        <option value="$PROJECT_DIR$/pom.xml" />
        <option value="$PROJECT_DIR$/Wechat/pom.xml" />
        <option value="$PROJECT_DIR$/feign/src/main/java/com/java110/test/TestFeignHystrixClient.java" />
        <option value="$PROJECT_DIR$/feign/pom.xml" />
        <option value="$PROJECT_DIR$/Wechat/src/main/java/com/java110/test/TestController.java" />
        <option value="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/App.java" />
      </list>
    </option>
  </component>
@@ -228,7 +151,32 @@
    </option>
  </component>
  <component name="MavenProjectNavigator">
    <treeState />
    <treeState>
      <PATH>
        <PATH_ELEMENT>
          <option name="myItemId" value="" />
          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$RootNode" />
        </PATH_ELEMENT>
        <PATH_ELEMENT>
          <option name="myItemId" value="eureka" />
          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$ProjectNode" />
        </PATH_ELEMENT>
        <PATH_ELEMENT>
          <option name="myItemId" value="Dependencies" />
          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$DependenciesNode" />
        </PATH_ELEMENT>
      </PATH>
      <PATH>
        <PATH_ELEMENT>
          <option name="myItemId" value="" />
          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$RootNode" />
        </PATH_ELEMENT>
        <PATH_ELEMENT>
          <option name="myItemId" value="eureka" />
          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$ProjectNode" />
        </PATH_ELEMENT>
      </PATH>
    </treeState>
  </component>
  <component name="ProjectFrameBounds">
    <option name="x" value="-8" />
@@ -251,6 +199,9 @@
      <foldersAlwaysOnTop value="true" />
    </navigator>
    <panes>
      <pane id="Scope" />
      <pane id="PackagesPane" />
      <pane id="Scratches" />
      <pane id="ProjectPane">
        <subPane>
          <PATH>
@@ -263,11 +214,126 @@
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="Wechat" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="Wechat" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="src" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="Wechat" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="src" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="main" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="Wechat" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="src" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="main" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="java" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="java110" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="Wechat" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="src" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="main" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="java" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="java110" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="test" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
        </subPane>
      </pane>
      <pane id="PackagesPane" />
      <pane id="Scope" />
      <pane id="Scratches" />
    </panes>
  </component>
  <component name="PropertiesComponent">
@@ -276,16 +342,43 @@
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="aspect.path.notification.shown" value="true" />
    <property name="js.eslint.eslintPackage" value="" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/../java110_workspace" />
  </component>
  <component name="RecentsManager">
    <key name="CopyClassDialog.RECENTS_KEY">
      <recent name="com.java110.feign" />
      <recent name="com.java110.test.feign" />
      <recent name="com.java110" />
    </key>
    <key name="CopyFile.RECENT_KEYS">
      <recent name="E:\project\MicroCommunity\feign\src\main\java\com\java110\test" />
      <recent name="E:\project\MicroCommunity\Wechat\src\main\resources" />
      <recent name="E:\project\MicroCommunity\UserService\src\main\java\com\java110" />
      <recent name="E:\project\MicroCommunity\config\src\main" />
      <recent name="E:\project\MicroCommunity\eureka\src\main" />
      <recent name="E:\project\MicroCommunity\eureka\src\main\java\com\java110" />
    </key>
  </component>
  <component name="RunManager" selected="Spring Boot.ConfigServerEurekaApplication">
  <component name="RunManager" selected="Spring Boot.AppSpringBootApplication">
    <configuration default="false" name="AppSpringBootApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
        <pattern>
          <option name="PATTERN" value="com.java110.*" />
          <option name="ENABLED" value="true" />
        </pattern>
      </extension>
      <option name="MAIN_CLASS_NAME" value="com.java110.AppSpringBootApplication" />
      <option name="VM_PARAMETERS" />
      <option name="PROGRAM_PARAMETERS" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
      <option name="ALTERNATIVE_JRE_PATH" />
      <option name="ENABLE_SWING_INSPECTOR" value="false" />
      <option name="ENV_VARIABLES" />
      <option name="PASS_PARENT_ENVS" value="true" />
      <module name="UserService" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
      <module name="" />
      <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
@@ -514,6 +607,12 @@
      <method />
    </configuration>
    <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <gulpfile />
      <tasks />
      <arguments />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="js.build_tools.npm" factoryName="npm">
@@ -536,9 +635,23 @@
      <envs />
      <method />
    </configuration>
    <list size="1">
    <configuration default="false" name="AppSpringBootApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
      <option name="SPRING_BOOT_MAIN_CLASS" value="com.java110.AppSpringBootApplication" />
      <module name="Wechat" />
      <envs />
      <method />
    </configuration>
    <list size="3">
      <item index="0" class="java.lang.String" itemvalue="Spring Boot.ConfigServerEurekaApplication" />
      <item index="1" class="java.lang.String" itemvalue="Spring Boot.AppSpringBootApplication" />
      <item index="2" class="java.lang.String" itemvalue="Application.AppSpringBootApplication" />
    </list>
    <recent_temporary>
      <list size="1">
        <item index="0" class="java.lang.String" itemvalue="Application.AppSpringBootApplication" />
      </list>
    </recent_temporary>
  </component>
  <component name="ShelveChangesManager" show_recycled="false">
    <option name="remove_strategy" value="false" />
@@ -550,40 +663,43 @@
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1491310271591</updated>
      <workItem from="1491310273233" duration="6838000" />
      <workItem from="1491310273233" duration="7441000" />
      <workItem from="1491354701026" duration="699000" />
      <workItem from="1491355418391" duration="10766000" />
      <workItem from="1491377996913" duration="2131000" />
    </task>
    <servers />
  </component>
  <component name="TimeTrackingManager">
    <option name="totallyTimeSpent" value="6838000" />
    <option name="totallyTimeSpent" value="21037000" />
  </component>
  <component name="ToolWindowManager">
    <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
    <editor active="true" />
    <layout>
      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3295082" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32980332" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Spring" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18910742" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3295082" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32980332" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5852459" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Spring" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2677761" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3295082" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
    </layout>
    <layout-to-restore>
      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
@@ -622,11 +738,98 @@
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/user/User.java">
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/resources/application.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="221">
          <caret line="13" column="17" lean-forward="false" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="476">
          <caret line="28" column="21" lean-forward="false" selection-start-line="28" selection-start-column="21" selection-end-line="28" selection-end-column="21" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="561">
          <caret line="33" column="21" lean-forward="false" selection-start-line="33" selection-start-column="21" selection-end-line="33" selection-end-column="21" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Readme.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="102">
            <caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="153">
          <caret line="15" column="25" lean-forward="false" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="25" />
          <folding>
            <element signature="imports" expanded="false" />
            <element signature="e#391#392#0" expanded="false" />
            <element signature="e#471#472#0" expanded="false" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Readme.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="102">
            <caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="255">
          <caret line="15" column="25" lean-forward="false" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="25" />
          <folding>
            <element signature="imports" expanded="false" />
            <element signature="e#391#392#0" expanded="false" />
            <element signature="e#471#472#0" expanded="false" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/User.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="51">
          <caret line="3" column="7" lean-forward="false" selection-start-line="3" selection-start-column="7" selection-end-line="3" selection-end-column="7" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -634,7 +837,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -643,29 +845,17 @@
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="17">
            <caret line="1" column="0" lean-forward="false" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserSevice/README.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="34">
            <caret line="2" column="16" lean-forward="false" selection-start-line="2" selection-start-column="16" selection-end-line="2" selection-end-column="16" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserSevice/README.md" />
    <entry file="file://$PROJECT_DIR$/common/README.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="34">
            <caret line="2" column="26" lean-forward="false" selection-start-line="2" selection-start-column="26" selection-end-line="2" selection-end-column="26" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
@@ -675,32 +865,15 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="442">
          <caret line="26" column="21" lean-forward="false" selection-start-line="26" selection-start-column="21" selection-end-line="26" selection-end-column="21" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserSevice/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="340">
          <caret line="20" column="12" lean-forward="false" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="12" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="99">
          <caret line="14" column="0" lean-forward="false" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserSevice/pom.xml" />
    <entry file="file://$PROJECT_DIR$/UserService/README.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="34">
            <caret line="2" column="21" lean-forward="false" selection-start-line="2" selection-start-column="21" selection-end-line="2" selection-end-column="21" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
@@ -711,7 +884,6 @@
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="136">
            <caret line="8" column="9" lean-forward="false" selection-start-line="8" selection-start-column="9" selection-end-line="8" selection-end-column="9" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
@@ -721,7 +893,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="357">
          <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -730,7 +901,6 @@
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="136">
            <caret line="8" column="10" lean-forward="false" selection-start-line="8" selection-start-column="10" selection-end-line="8" selection-end-column="10" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
@@ -740,7 +910,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="218">
          <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -748,7 +917,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="218">
          <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -757,41 +925,8 @@
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="170">
            <caret line="10" column="11" lean-forward="false" selection-start-line="10" selection-start-column="11" selection-end-line="10" selection-end-column="11" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="476">
          <caret line="33" column="9" lean-forward="false" selection-start-line="33" selection-start-column="9" selection-end-line="33" selection-end-column="9" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-431">
          <caret line="4" column="23" lean-forward="false" selection-start-line="4" selection-start-column="23" selection-end-line="4" selection-end-column="23" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/docker/dockerfile">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/resources/application.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="153">
          <caret line="9" column="15" lean-forward="true" selection-start-line="9" selection-start-column="15" selection-end-line="9" selection-end-column="15" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -799,7 +934,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="272">
          <caret line="16" column="72" lean-forward="true" selection-start-line="16" selection-start-column="72" selection-end-line="16" selection-end-column="72" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -808,7 +942,6 @@
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="136">
            <caret line="8" column="16" lean-forward="false" selection-start-line="8" selection-start-column="16" selection-end-line="8" selection-end-column="16" />
            <folding />
          </first_editor>
          <second_editor />
        </state>
@@ -818,7 +951,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="323">
          <caret line="19" column="0" lean-forward="true" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -826,31 +958,199 @@
      <provider editor-type-id="text-editor">
        <state relative-caret-position="306">
          <caret line="18" column="12" lean-forward="false" selection-start-line="18" selection-start-column="12" selection-end-line="18" selection-end-column="12" />
          <folding />
        </state>
      </provider>
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="102">
            <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
            <folding />
            <caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/user.java" />
    <entry file="file://$PROJECT_DIR$/UserService/src/main/resources/application.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="204">
          <caret line="12" column="48" lean-forward="true" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="48" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/resources/application-ha.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/resources/application.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="221">
          <caret line="13" column="0" lean-forward="false" selection-start-line="13" selection-start-column="0" selection-end-line="18" selection-end-column="18" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/docker/dockerfile">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="68">
          <caret line="4" column="23" lean-forward="false" selection-start-line="4" selection-start-column="23" selection-end-line="4" selection-end-column="23" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="476">
          <caret line="28" column="21" lean-forward="false" selection-start-line="28" selection-start-column="21" selection-end-line="28" selection-end-column="21" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/resources/application-ribbon.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="204">
          <caret line="12" column="0" lean-forward="false" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="153">
          <caret line="15" column="25" lean-forward="false" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="25" />
          <caret line="11" column="44" lean-forward="false" selection-start-line="11" selection-start-column="44" selection-end-line="11" selection-end-column="44" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/java/com/java110/AppSpringBootApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="249">
          <caret line="23" column="0" lean-forward="false" selection-start-line="23" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/resources/application.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="221">
          <caret line="13" column="17" lean-forward="false" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/java/com/java110/test/feign/HystrixClientFallback.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="204">
          <caret line="12" column="0" lean-forward="false" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/AppSpringBootApplication.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="187">
          <caret line="11" column="16" lean-forward="true" selection-start-line="11" selection-start-column="16" selection-end-line="11" selection-end-column="16" />
        <state relative-caret-position="272">
          <caret line="16" column="7" lean-forward="false" selection-start-line="16" selection-start-column="7" selection-end-line="16" selection-end-column="7" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/smo/UserServiceSMOImpl.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="136">
          <caret line="8" column="0" lean-forward="false" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/smo/TestServiceSMOImpl.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="238">
          <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/test/HystrixClientFallback.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="215">
          <caret line="72" column="33" lean-forward="false" selection-start-line="72" selection-start-column="33" selection-end-line="72" selection-end-column="33" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="266">
          <caret line="34" column="8" lean-forward="false" selection-start-line="34" selection-start-column="8" selection-end-line="37" selection-end-column="21" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-netflix-core/1.1.5.RELEASE/spring-cloud-netflix-core-1.1.5.RELEASE.jar!/org/springframework/cloud/netflix/feign/FeignClient.class">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="153">
          <caret line="17" column="18" lean-forward="false" selection-start-line="17" selection-start-column="18" selection-end-line="17" selection-end-column="18" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/pom.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="510">
          <caret line="30" column="21" lean-forward="true" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/java/com/java110/test/feign/TestFeignHystrixClient.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="68">
          <caret line="4" column="53" lean-forward="false" selection-start-line="4" selection-start-column="53" selection-end-line="4" selection-end-column="53" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/App.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/test/TestFeignHystrixClient.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="221">
          <caret line="13" column="19" lean-forward="true" selection-start-line="13" selection-start-column="19" selection-end-line="13" selection-end-column="19" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/Wechat/src/main/java/com/java110/feign/test/TestController.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="269">
          <caret line="26" column="0" lean-forward="false" selection-start-line="26" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
UserService/UserService.iml
@@ -6,17 +6,92 @@
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module" module-name="common" />
    <orderEntry type="module" module-name="bean" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-eureka:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:4.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.47" level="project" />
    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.47" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-core:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-client:1.4.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.jettison:jettison:1.3.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: stax:stax-api:1.0.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-eventbus:0.3.0" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.4" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.10.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-internal:0.10.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.inject:guice:4.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: aopalliance:aopalliance:1.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.governator:governator-api:1.12.10" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-core:1.4.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-core:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.8.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-ec2:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-autoscaling:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-sts:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-route53:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.governator:governator:1.12.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.governator:governator-core:1.12.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-archaius:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-ribbon:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.hystrix:hystrix-core:1.5.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.hdrhistogram:HdrHistogram:2.1.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec-http:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-handler:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-common:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-buffer:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport:4.0.27.Final" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.2.0" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.1.1" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
    <orderEntry type="library" name="Maven: io.reactivex:rxjava:1.1.5" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-eureka:2.2.0" level="project" />
    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.2" level="project" />
    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
@@ -31,8 +106,6 @@
    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.2.RELEASE" level="project" />
@@ -45,7 +118,6 @@
    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.5.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
UserService/pom.xml
@@ -22,5 +22,10 @@
            <groupId>com.java110</groupId>
            <artifactId>common</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
    </dependencies>
</project>
UserService/src/main/java/com/java110/AppSpringBootApplication.java
@@ -4,6 +4,7 @@
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
@@ -17,7 +18,8 @@
 */
@SpringBootApplication
@EnableAutoConfiguration
public class AppSpringBootApplication extends SpringBootServletInitializer {
@EnableDiscoveryClient
public class AppSpringBootApplication {
    public static void main(String[] args) throws Exception{
        SpringApplication.run(AppSpringBootApplication.class, args);
UserService/src/main/resources/application.yml
New file
@@ -0,0 +1,15 @@
server:
  port: 8000
spring:
  application:
    name: user-service    # 项目名称尽量用小写
logging:
  level:
    root: INFO
    com.java110.user: ERROR
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/  # 指定注册中心的地址, http://discovery:8762/eureka/
  instance:
    preferIpAddress: true
UserService/target/classes/application.yml
New file
@@ -0,0 +1,15 @@
server:
  port: 8000
spring:
  application:
    name: user-service    # 项目名称尽量用小写
logging:
  level:
    root: INFO
    com.java110.user: ERROR
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/  # 指定注册中心的地址, http://discovery:8762/eureka/
  instance:
    preferIpAddress: true
UserService/target/classes/com/java110/App.class
Binary files differ
UserService/target/classes/com/java110/AppSpringBootApplication.class
Binary files differ
UserService/target/classes/com/java110/user/smo/TestServiceSMOImpl.class
Binary files differ
UserService/target/classes/com/java110/user/smo/UserServiceSMOImpl.class
Binary files differ
UserService/target/test-classes/com/java110/AppTest.class
Binary files differ
Wechat/Wechat.iml
New file
@@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/target/classes" />
    <output-test url="file://$MODULE_DIR$/target/test-classes" />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module" module-name="common" />
    <orderEntry type="module" module-name="bean" />
    <orderEntry type="module" module-name="feign" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-ribbon:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.47" level="project" />
    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.47" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-core:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-archaius:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.4" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.findbugs:jsr305:3.0.1" level="project" />
    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.hystrix:hystrix-core:1.5.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.hdrhistogram:HdrHistogram:2.1.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec-http:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-handler:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-common:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-buffer:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport:4.0.27.Final" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.2.0" level="project" />
    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.10.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-internal:0.10.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.1.1" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.2.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
    <orderEntry type="library" name="Maven: io.reactivex:rxjava:1.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-eureka:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-client:1.4.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.jettison:jettison:1.3.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: stax:stax-api:1.0.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-eventbus:0.3.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.inject:guice:4.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: aopalliance:aopalliance:1.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.governator:governator-api:1.12.10" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-core:1.4.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-core:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.8.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-ec2:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-autoscaling:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-sts:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.amazonaws:aws-java-sdk-route53:1.11.18" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.governator:governator:1.12.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.governator:governator-core:1.12.10" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-eureka:2.2.0" level="project" />
    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.2" level="project" />
    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-feign:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:4.1.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.feign:feign-core:8.16.2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.jvnet:animal-sniffer-annotation:1.0" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.feign:feign-slf4j:8.16.2" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.feign:feign-hystrix:8.16.2" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.5.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.3.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-access:1.1.3" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.3" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.3" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.7" level="project" />
  </component>
</module>
Wechat/pom.xml
New file
@@ -0,0 +1,45 @@
<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>MicroCommunity</artifactId>
        <groupId>com.java110</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>Wechat</artifactId>
    <packaging>jar</packaging>
    <name>Wechat</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.java110</groupId>
            <artifactId>common</artifactId>
        </dependency>
        <dependency>
            <groupId>com.java110</groupId>
            <artifactId>feign</artifactId>
        </dependency>
        <!-- 整合ribbon -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-feign</artifactId>
        </dependency>
    </dependencies>
</project>
Wechat/src/main/java/com/java110/App.java
New file
@@ -0,0 +1,13 @@
package com.java110;
/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}
Wechat/src/main/java/com/java110/AppSpringBootApplication.java
New file
@@ -0,0 +1,40 @@
package com.java110;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
/**
 * spring boot 初始化启动类
 *
 * @version v0.1
 * @auther com.java110.wuxw
 * @mail 928255095@qq.com
 * @date 2016年8月6日
 * @tag
 */
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class AppSpringBootApplication {
    /**
     * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
     * @return restTemplate
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
    public static void main(String[] args) {
        SpringApplication.run(AppSpringBootApplication.class, args);
    }
}
Wechat/src/main/java/com/java110/feign/test/TestController.java
New file
@@ -0,0 +1,38 @@
package com.java110.feign.test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
/**
 *
 * 服务测试
 *
 * ribbon
 *
 * feign
 *
 *
 * Created by wuxw on 2017/4/5.
 */
@RestController
public class TestController {
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private TestFeignHystrixClient testFeignHystrixClient;
    @GetMapping("/test/{id}")
    public String sayHello(@PathVariable Long id) {
        return restTemplate.getForObject("http://user-service/test/sayHello?param="+id,String.class);
    }
    @GetMapping("/testFeign/{id}")
    public String sayHelloFeign(@PathVariable Long id){
        return testFeignHystrixClient.sayHello(""+id);
    }
}
Wechat/src/main/resources/application-ribbon.yml
New file
@@ -0,0 +1,12 @@
server:
  port: 8010
spring:
  application:
    name: wechat
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/
  instance:
    preferIpAddress: true
Wechat/src/main/resources/application.yml
New file
@@ -0,0 +1,14 @@
server:
  port: 8010
spring:
  application:
    name: wechat
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/
  instance:
    hostname: feign                 # 此处,preferIpAddress不设置或者设为false,不能设为true,否则影响turbine的测试。turbine存在的问题:eureka.instance.hostname一致时只能检测到一个节点,会造成turbine数据不完整
ribbon:
  eureka:
    enabled: true
Wechat/src/test/java/com/java110/AppTest.java
New file
@@ -0,0 +1,38 @@
package com.java110;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
 * Unit test for simple App.
 */
public class AppTest
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }
    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }
    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}
Wechat/target/classes/application-ribbon.yml
New file
@@ -0,0 +1,12 @@
server:
  port: 8010
spring:
  application:
    name: wechat
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/
  instance:
    preferIpAddress: true
Wechat/target/classes/application.yml
New file
@@ -0,0 +1,14 @@
server:
  port: 8010
spring:
  application:
    name: wechat
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/
  instance:
    hostname: feign                 # 此处,preferIpAddress不设置或者设为false,不能设为true,否则影响turbine的测试。turbine存在的问题:eureka.instance.hostname一致时只能检测到一个节点,会造成turbine数据不完整
ribbon:
  eureka:
    enabled: true
Wechat/target/classes/com/java110/App.class
Binary files differ
Wechat/target/classes/com/java110/AppSpringBootApplication.class
Binary files differ
Wechat/target/classes/com/java110/feign/test/TestController.class
Binary files differ
Wechat/target/test-classes/com/java110/AppTest.class
Binary files differ
bean/target/classes/com/java110/App.class
Binary files differ
bean/target/test-classes/com/java110/AppTest.class
Binary files differ
common/target/classes/com/java110/App.class
Binary files differ
common/target/test-classes/com/java110/AppTest.class
Binary files differ
config/config.iml
@@ -6,6 +6,7 @@
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
eureka/src/main/java/com/java110/ConfigServerEurekaApplication.java
@@ -1,10 +1,8 @@
package com.java110;
        import org.springframework.boot.SpringApplication;
        import org.springframework.boot.autoconfigure.SpringBootApplication;
        import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
        import org.springframework.context.annotation.DependsOn;
        import org.springframework.context.annotation.Import;
        import org.springframework.context.annotation.PropertySource;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
 * Created by wuxw on 2016/12/26.
eureka/src/main/resources/application.yml
@@ -10,10 +10,6 @@
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
spring:
  profiles:
    active: ha
logging:
  file: D:/spring-boot/logs/eureka.log
@@ -21,11 +17,6 @@
    org:
      springframework:
        web: DEBUG
user:
  userName: wuxw
  pwd: 123456
  age: 18
# 参考文档:http://projects.spring.io/spring-cloud/docs/1.0.3/spring-cloud.html#_standalone_mode
# 参考文档:http://my.oschina.net/buwei/blog/618756
eureka/target/classes/application-ha.yml
New file
@@ -0,0 +1,11 @@
---
spring:
  profiles: peer1                                 # 指定profile=peer1
server:
  port: 8761
eureka:
  instance:
    hostname: peer1                               # 指定当profile=peer1时,主机名
  client:
    serviceUrl:
      defaultZone: http://peer2:8762/eureka/      # 将自己注册到peer2这个Eureka上面去
eureka/target/classes/application.yml
New file
@@ -0,0 +1,22 @@
server:
  port: 8761                    # 指定该Eureka实例的端口
eureka:
  instance:
    hostname: discovery         # 指定该Eureka实例的主机名
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
logging:
  file: D:/spring-boot/logs/eureka.log
  level:
    org:
      springframework:
        web: DEBUG
# 参考文档:http://projects.spring.io/spring-cloud/docs/1.0.3/spring-cloud.html#_standalone_mode
# 参考文档:http://my.oschina.net/buwei/blog/618756
eureka/target/classes/com/java110/App.class
Binary files differ
eureka/target/classes/com/java110/ConfigServerEurekaApplication.class
Binary files differ
eureka/target/test-classes/com/java110/AppTest.class
Binary files differ
feign/feign.iml
New file
@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/target/classes" />
    <output-test url="file://$MODULE_DIR$/target/test-classes" />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module" module-name="common" scope="PROVIDED" />
    <orderEntry type="module" module-name="bean" scope="PROVIDED" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-starter-feign:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-starter:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-context:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.security:spring-security-rsa:1.0.1.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.47" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcprov-jdk15on:1.47" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-netflix-core:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-commons:1.1.1.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.security:spring-security-crypto:4.1.1.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.feign:feign-core:8.16.2" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet:animal-sniffer-annotation:1.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.feign:feign-slf4j:8.16.2" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.feign:feign-hystrix:8.16.2" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.hystrix:hystrix-core:1.5.3" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.hdrhistogram:HdrHistogram:2.1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-starter-ribbon:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.ribbon:ribbon:2.2.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.ribbon:ribbon-transport:2.2.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.inject:javax.inject:1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-codec-http:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-codec:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-handler:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-transport-native-epoll:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-common:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-buffer:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.netty:netty-transport:4.0.27.Final" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.ribbon:ribbon-core:2.2.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.2.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.servo:servo-core:0.10.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.servo:servo-internal:0.10.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.1.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.2.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: io.reactivex:rxjava:1.1.5" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.cloud:spring-cloud-starter-archaius:1.1.5.RELEASE" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.netflix.archaius:archaius-core:0.7.4" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:jsr305:3.0.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:18.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.5.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.3.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-access:1.1.3" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.3" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.3" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.7" level="project" />
  </component>
</module>
feign/pom.xml
New file
@@ -0,0 +1,33 @@
<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>MicroCommunity</artifactId>
        <groupId>com.java110</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>feign</artifactId>
    <packaging>jar</packaging>
    <name>feign</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.java110</groupId>
            <artifactId>common</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-feign</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
feign/src/main/java/com/java110/App.java
New file
@@ -0,0 +1,13 @@
package com.java110;
/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}
feign/src/main/java/com/java110/feign/test/HystrixClientFallback.java
New file
@@ -0,0 +1,29 @@
package com.java110.feign.test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * 这边采取了和Spring Cloud官方文档相同的做法,将fallback类作为内部类放入Feign的接口中,当然也可以单独写一个fallback类。
 * @author eacdy
 */
@Component
public class HystrixClientFallback implements TestFeignHystrixClient {
    private static final Logger LOGGER = LoggerFactory.getLogger(HystrixClientFallback.class);
    /**
     * hystrix fallback方法
     * @param param id
     * @return 默认的用户
     */
    @Override
    public String sayHello(@RequestParam String param) {
        HystrixClientFallback.LOGGER.info("异常发生,进入fallback方法,接收的参数:id = {}", param);
        return "异常了";
    }
}
feign/src/main/java/com/java110/feign/test/TestFeignHystrixClient.java
New file
@@ -0,0 +1,17 @@
package com.java110.feign.test;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * 使用@FeignClient注解的fallback属性,指定fallback类
 * @author eacdy
 */
@FeignClient(name = "user-service", fallback = HystrixClientFallback.class)
public interface TestFeignHystrixClient {
  @RequestMapping("/test/sayHello")
  public String sayHello(@RequestParam("param") String param);
}
feign/src/main/java/com/java110/feign/user/User.java
File was renamed from bean/src/main/java/com/java110/user/User.java
@@ -1,4 +1,4 @@
package com.java110.user;
package com.java110.feign.user;
/**
 * 用户实体
feign/src/main/java/com/java110/feign/user/smo/TestServiceSMOImpl.java
New file
@@ -0,0 +1,18 @@
package com.java110.feign.user.smo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * 测试服务
 * Created by wuxw on 2017/4/5.
 */
@RestController
public class TestServiceSMOImpl {
    @RequestMapping("/test/sayHello")
    public String sayHello(@RequestParam String param){
        return param+",hello";
    }
}
feign/src/main/java/com/java110/feign/user/smo/UserServiceSMOImpl.java
New file
@@ -0,0 +1,10 @@
package com.java110.feign.user.smo;
/**
 * 用户服务提供类
 * Created by wuxw on 2017/4/5.
 */
public class UserServiceSMOImpl {
}
feign/src/test/java/com/java110/AppTest.java
New file
@@ -0,0 +1,38 @@
package com.java110;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
 * Unit test for simple App.
 */
public class AppTest
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }
    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }
    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}
feign/target/classes/com/java110/App.class
Binary files differ
feign/target/classes/com/java110/feign/test/HystrixClientFallback.class
Binary files differ
feign/target/classes/com/java110/feign/test/TestFeignHystrixClient.class
Binary files differ
feign/target/classes/com/java110/feign/user/User.class
Binary files differ
feign/target/classes/com/java110/feign/user/smo/TestServiceSMOImpl.class
Binary files differ
feign/target/classes/com/java110/feign/user/smo/UserServiceSMOImpl.class
Binary files differ
feign/target/test-classes/com/java110/AppTest.class
Binary files differ
pom.xml
@@ -17,6 +17,8 @@
        <module>PayService</module>
        <module>eureka</module>
        <module>config</module>
        <module>Wechat</module>
        <module>feign</module>
    </modules>
    <parent>
@@ -66,6 +68,11 @@
                <artifactId>bean</artifactId>
                <version>${microcommunity.version}</version>
            </dependency>
            <dependency>
                <groupId>com.java110</groupId>
                <artifactId>feign</artifactId>
                <version>${microcommunity.version}</version>
            </dependency>
            <!-- logback 日志组件支持  -->