Procházet zdrojové kódy

调整broker目录结构,增加broker一层级目录

Airhead před 8 roky
rodič
revize
8be1b60de3
73 změnil soubory, kde provedl 433 přidání a 803 odebrání
  1. 122 58
      esb.iml
  2. 81 37
      hos-broker/hos-broker.iml
  3. 2 2
      hos-broker/src/main/java/com/yihu/hos/HosBrokerApplication.java
  4. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/appender/JMSAppender.java
  5. 2 2
      hos-broker/src/main/java/com/yihu/hos/common/camelrouter/BrokerServerRouter.java
  6. 2 2
      hos-broker/src/main/java/com/yihu/hos/common/camelrouter/BusinessLogRouter.java
  7. 2 2
      hos-broker/src/main/java/com/yihu/hos/common/classLoader/DynamicClassLoader.java
  8. 3 3
      hos-broker/src/main/java/com/yihu/hos/common/compiler/CamelCompiler.java
  9. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/compiler/ClassParams.java
  10. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/constants/BrokerConstant.java
  11. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/constants/MonitorConstant.java
  12. 5 5
      hos-broker/src/main/java/com/yihu/hos/common/dao/BrokerDao.java
  13. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/format/PatternLayout.java
  14. 8 9
      hos-broker/src/main/java/com/yihu/hos/common/listener/ApplicationStartListener.java
  15. 8 8
      hos-broker/src/main/java/com/yihu/hos/common/scheduler/MonitorScheduler.java
  16. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/util/MongodbUtil.java
  17. 1 1
      hos-broker/src/main/java/com/yihu/hos/common/util/SigarUtil.java
  18. 118 0
      hos-broker/src/main/java/com/yihu/hos/broker/controllers/ESBCamelController.java
  19. 4 4
      hos-broker/src/main/java/com/yihu/hos/controllers/GatewayController.java
  20. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/BusinessLog.java
  21. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/GatewayRequestResult.java
  22. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/GatewayResponseResult.java
  23. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/ServiceMetrics.java
  24. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/SystemCamelContext.java
  25. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/SystemClassMapping.java
  26. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/SystemServiceEndpoint.java
  27. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/SystemServiceFlow.java
  28. 1 1
      hos-broker/src/main/java/com/yihu/hos/models/SystemServiceFlowClass.java
  29. 3 3
      hos-broker/src/main/java/com/yihu/hos/services/BrokerServerService.java
  30. 2 2
      hos-broker/src/main/java/com/yihu/hos/services/BusinessLogService.java
  31. 8 11
      hos-broker/src/main/java/com/yihu/hos/services/ESBCamelService.java
  32. 3 3
      hos-broker/src/main/java/com/yihu/hos/services/GatewayService.java
  33. 3 3
      hos-broker/src/main/java/com/yihu/hos/services/ServiceMonitorService.java
  34. 0 29
      hos-broker/src/main/java/com/yihu/hos/common/configuration/ActivemqConfiguration.java
  35. 0 23
      hos-broker/src/main/java/com/yihu/hos/common/configuration/ApplicationConfiguration.java
  36. 0 24
      hos-broker/src/main/java/com/yihu/hos/common/configuration/ArbiterConfiguration.java
  37. 0 31
      hos-broker/src/main/java/com/yihu/hos/common/configuration/GatewayConfiguration.java
  38. 0 57
      hos-broker/src/main/java/com/yihu/hos/common/configuration/MongoConfiguration.java
  39. 0 36
      hos-broker/src/main/java/com/yihu/hos/common/listener/HosServiceListener.java
  40. 0 44
      hos-broker/src/main/java/com/yihu/hos/common/swagger/SwaggerConfig.java
  41. 0 204
      hos-broker/src/main/java/com/yihu/hos/controllers/ESBCamelController.java
  42. 1 1
      hos-broker/src/main/resources/application.yml
  43. 3 3
      hos-broker/src/main/resources/log4j.properties
  44. 1 1
      src/main/java/com/yihu/hos/common/CollectHelper.java
  45. 1 2
      src/main/java/com/yihu/hos/common/CommonPageController.java
  46. 1 2
      src/main/java/com/yihu/hos/common/JXLUtil.java
  47. 1 1
      src/main/java/com/yihu/hos/common/ObjectVersion.java
  48. 1 1
      src/main/java/com/yihu/hos/common/ReflectUtil.java
  49. 1 1
      src/main/java/com/yihu/hos/common/Services.java
  50. 1 1
      src/main/java/com/yihu/hos/common/constants/Constants.java
  51. 1 1
      src/main/java/com/yihu/hos/common/constants/ContextAttributes.java
  52. 0 0
      src/main/java/com/yihu/hos/broker/services/IBaseManager.java
  53. 2 2
      src/main/java/com/yihu/hos/services/ServiceFlowEventService.java
  54. 1 1
      src/main/java/com/yihu/hos/datacollect/controller/DataCollectController.java
  55. 1 1
      src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java
  56. 1 1
      src/main/java/com/yihu/hos/datacollect/service/DatacollectService.java
  57. 1 1
      src/main/java/com/yihu/hos/datacollect/service/DatapushService.java
  58. 1 1
      src/main/java/com/yihu/hos/interceptor/AuditInterceptor.java
  59. 1 1
      src/main/java/com/yihu/hos/listeners/ApplicationStart.java
  60. 1 1
      src/main/java/com/yihu/hos/monitor/service/ServiceMonitorService.java
  61. 1 1
      src/main/java/com/yihu/hos/resource/controller/RsResourceController.java
  62. 1 1
      src/main/java/com/yihu/hos/resource/controller/StdController.java
  63. 1 1
      src/main/java/com/yihu/hos/resource/service/impl/StdService.java
  64. 1 1
      src/main/java/com/yihu/hos/standard/service/bo/AdapterVersion.java
  65. 1 1
      src/main/java/com/yihu/hos/standard/service/bo/StandardVersion.java
  66. 1 1
      src/main/java/com/yihu/hos/system/controller/BaseDictController.java
  67. 1 1
      src/main/java/com/yihu/hos/system/controller/DatasourceController.java
  68. 1 6
      src/main/java/com/yihu/hos/system/controller/FlowController.java
  69. 1 2
      src/main/java/com/yihu/hos/system/service/BaseDictManager.java
  70. 1 2
      src/main/java/com/yihu/hos/system/service/DatasourceManager.java
  71. 8 143
      src/main/java/com/yihu/hos/system/service/FlowManager.java
  72. 1 1
      src/main/java/com/yihu/hos/system/service/OrganizationManager.java
  73. 1 1
      src/test/java/com/yihu/hos/services/ServiceFlowEventServiceTest.java

+ 122 - 58
esb.iml

@ -1,102 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="web" name="Web">
      <configuration>
        <webroots>
          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
        </webroots>
        <sourceRoots>
          <root url="file://$MODULE_DIR$/src/main/java" />
          <root url="file://$MODULE_DIR$/src/main/resources" />
        </sourceRoots>
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" 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="library" name="Maven: net.sf.json-lib:json-lib:2.4" level="project" />
    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.5" level="project" />
    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-core:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.2.11" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.2.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring-boot:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http4:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http-common:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jms:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jms:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf-transport:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.ws.xmlschema:xmlschema-core:2.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
    <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxrs:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxws:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: xml-resolver:xml-resolver:1.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-security-oauth:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-client:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: net.oauth.core:oauth-provider:20100527" level="project" />
    <orderEntry type="library" name="Maven: net.oauth.core:oauth:20100527" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:1.8.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz2:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: com.mchange:c3p0:0.9.5.2" level="project" />
    <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-xmljson:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-stream:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty9:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlet:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-security:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlets:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-continuation:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-client:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-jmx:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty-common:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: xom:xom:1.2.5" level="project" />
    <orderEntry type="library" name="Maven: xerces:xercesImpl:2.8.0" level="project" />
    <orderEntry type="library" name="Maven: xalan:xalan:2.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-jasper:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jdt.core.compiler:ecj:4.5.1" level="project" />
    <orderEntry type="library" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.10" level="project" />
    <orderEntry type="library" name="Maven: log4j:log4j:1.2.14" level="project" />
    <orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
    <orderEntry type="module" module-name="hos-web-framework" />
    <orderEntry type="library" name="Maven: eu.medsea.mimeutil:mime-util:2.1.3" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.1.RELEASE" 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.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.5" 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" />
@ -112,6 +88,7 @@
    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver-core:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:bson:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-mongodb:1.9.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.12.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.37" level="project" />
@ -122,13 +99,17 @@
    <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: commons-io:commons-io:2.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.3.2" level="project" />
    <orderEntry type="library" name="Maven: commons-net:commons-net:3.3" level="project" />
    <orderEntry type="library" name="Maven: commons-net:commons-net:3.1" level="project" />
    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.4.1" level="project" />
    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.9.0" level="project" />
    <orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.6.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.6.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.6" level="project" />
@ -142,12 +123,98 @@
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.9" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:html2image:0.9" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-extras:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-core:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-api:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-api:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: commons-digester:commons-digester:2.1" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-servlet-wildcard:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-servlet:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-mustache:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: com.github.spullara.mustache.java:compiler:0.8.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-jsp:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-servlet:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-template:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-autotag-core-runtime:1.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-jsp:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-freemarker:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-freemarker:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.25-incubating" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-velocity:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.velocity:velocity-tools:2.0" level="project" />
    <orderEntry type="library" name="Maven: oro:oro:2.0.8" level="project" />
    <orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-velocity:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-el:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-mvel:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.mvel:mvel2:2.0.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-ognl:3.0.5" level="project" />
    <orderEntry type="library" name="Maven: ognl:ognl:2.7.3" level="project" />
    <orderEntry type="library" name="Maven: jboss:javassist:3.7.ga" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tiles:tiles-compat:3.0.5" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:fop:1.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:xmlgraphics-commons:1.4" level="project" />
    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.0.4" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-svg-dom:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-anim:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-awt-util:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-util:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-dom:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-css:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-ext:1.7" level="project" />
    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: xml-apis:xml-apis-ext:1.3.04" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-xml:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: xalan:xalan:2.7.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-parser:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-bridge:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-gvt:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-script:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-transcoder:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-svggen:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.xmlgraphics:batik-extension:1.7" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.avalon.framework:avalon-framework-api:4.3.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.avalon.framework:avalon-framework-impl:4.3.1" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.openoffice:jurt:2.3.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.openoffice:ridl:2.3.0" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.openoffice:juh:2.3.0" level="project" />
    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:2.4" level="project" />
    <orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jms:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:4.3.11.Final" level="project" />
    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging-annotations:1.2.0.Beta1" level="project" />
    <orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.0.Final" level="project" />
    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.5.Final" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
    <orderEntry type="library" name="Maven: org.javassist:javassist:3.20.0-GA" level="project" />
    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
    <orderEntry type="library" name="Maven: org.jboss:jandex:1.1.0.Final" level="project" />
    <orderEntry type="library" name="Maven: org.apache.activemq:activemq-core:5.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.activemq:kahadb:5.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.activemq.protobuf:activemq-protobuf:1.1" level="project" />
    <orderEntry type="library" name="Maven: org.fusesource.mqtt-client:mqtt-client:1.3" level="project" />
    <orderEntry type="library" name="Maven: org.fusesource.hawtdispatch:hawtdispatch-transport:1.11" level="project" />
    <orderEntry type="library" name="Maven: org.fusesource.hawtdispatch:hawtdispatch:1.11" level="project" />
    <orderEntry type="library" name="Maven: org.fusesource.hawtbuf:hawtbuf:1.9" level="project" />
    <orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec:1.0.1" level="project" />
    <orderEntry type="library" name="Maven: org.jasypt:jasypt:1.9.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.4.1.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: junit:junit:4.12" 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.assertj:assertj-core:2.5.0" level="project" />
@ -157,8 +224,5 @@
    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.3.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.json:json:20140107" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.9" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:html2image:0.9" level="project" />
  </component>
</module>

+ 81 - 37
hos-broker/hos-broker.iml

@ -1,5 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="web" name="Web">
      <configuration>
        <webroots>
          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
        </webroots>
        <sourceRoots>
          <root url="file://$MODULE_DIR$/src/main/java" />
          <root url="file://$MODULE_DIR$/src/main/resources" />
        </sourceRoots>
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/target/classes" />
    <output-test url="file://$MODULE_DIR$/target/test-classes" />
@ -90,7 +103,38 @@
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.2.8.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.3.8.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.2.8.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-core:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring-boot:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http4:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http-common:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jms:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf-transport:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxrs:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxws:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-security-oauth:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-client:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz2:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-xmljson:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-stream:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty9:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty-common:2.17.1" level="project" />
    <orderEntry type="module" module-name="hos-web-framework" />
    <orderEntry type="library" name="Maven: eu.medsea.mimeutil:mime-util:2.1.3" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.1.RELEASE" level="project" />
@ -100,7 +144,6 @@
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api: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-aop:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
@ -125,10 +168,6 @@
    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.5" 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: com.fasterxml:classmate:1.3.1" level="project" />
@ -158,9 +197,11 @@
    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.4.1" level="project" />
    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.9.0" level="project" />
    <orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.6.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.6.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.6" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.6" level="project" />
@ -175,6 +216,10 @@
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.9" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:html2image:0.9" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.fusesource:sigar:1.6.4" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.apache.activemq:activemq-core:5.7.0" level="project" />
@ -187,58 +232,58 @@
    <orderEntry type="library" name="Maven: org.fusesource.hawtbuf:hawtbuf:1.9" level="project" />
    <orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec:1.0.1" level="project" />
    <orderEntry type="library" name="Maven: org.jasypt:jasypt:1.9.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-core:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-core:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.2.11" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.2.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring-boot:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http4:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http-common:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring-boot:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http4:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http-common:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jms:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jms:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jms:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf-transport:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf-transport:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.ws.xmlschema:xmlschema-core:2.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
    <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxrs:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxrs:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxws:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxws:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: xml-resolver:xml-resolver:1.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-security-oauth:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-client:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-security-oauth:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-client:3.1.7" level="project" />
    <orderEntry type="library" name="Maven: net.oauth.core:oauth-provider:20100527" level="project" />
    <orderEntry type="library" name="Maven: net.oauth.core:oauth:20100527" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:1.8.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz2:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz2:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: com.mchange:c3p0:0.9.5.2" level="project" />
    <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-xmljson:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-xmljson:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" 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: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-stream:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty9:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-stream:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty9:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.3.11.v20160721" level="project" />
@ -249,7 +294,7 @@
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-continuation:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-client:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-jmx:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty-common:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty-common:2.18.0" level="project" />
    <orderEntry type="library" name="Maven: xom:xom:1.2.5" level="project" />
    <orderEntry type="library" name="Maven: xerces:xercesImpl:2.8.0" level="project" />
    <orderEntry type="library" name="Maven: xalan:xalan:2.7.0" level="project" />
@ -266,7 +311,6 @@
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" 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" scope="TEST" name="Maven: org.json:json:20140107" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.3.RELEASE" level="project" />
  </component>
</module>

+ 2 - 2
hos-broker/src/main/java/com/yihu/hos/HosBrokerApplication.java

@ -1,6 +1,6 @@
package com.yihu.hos;
package com.yihu.hos.broker;
import com.yihu.hos.common.listener.ApplicationStartListener;
import com.yihu.hos.broker.common.listener.ApplicationStartListener;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/appender/JMSAppender.java

@ -15,7 +15,7 @@
 * limitations under the License.
 */
package com.yihu.hos.common.appender;
package com.yihu.hos.broker.common.appender;
import com.yihu.hos.core.datatype.DateUtil;
import com.yihu.hos.core.datatype.StringUtil;

+ 2 - 2
hos-broker/src/main/java/com/yihu/hos/common/camelrouter/BrokerServerRouter.java

@ -1,6 +1,6 @@
package com.yihu.hos.common.camelrouter;
package com.yihu.hos.broker.common.camelrouter;
import com.yihu.hos.common.configuration.ArbiterConfiguration;
import com.yihu.hos.broker.configurations.ArbiterConfiguration;
import org.apache.camel.builder.RouteBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

+ 2 - 2
hos-broker/src/main/java/com/yihu/hos/common/camelrouter/BusinessLogRouter.java

@ -1,6 +1,6 @@
package com.yihu.hos.common.camelrouter;
package com.yihu.hos.broker.common.camelrouter;
import com.yihu.hos.common.configuration.ActivemqConfiguration;
import com.yihu.hos.broker.configurations.ActivemqConfiguration;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;

+ 2 - 2
hos-broker/src/main/java/com/yihu/hos/common/classLoader/DynamicClassLoader.java

@ -1,6 +1,6 @@
package com.yihu.hos.common.classLoader;
package com.yihu.hos.broker.common.classLoader;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.broker.common.constants.BrokerConstant;
import com.yihu.hos.core.constants.CoreConstant;
import java.io.ByteArrayOutputStream;

+ 3 - 3
hos-broker/src/main/java/com/yihu/hos/common/compiler/CamelCompiler.java

@ -1,10 +1,10 @@
package com.yihu.hos.common.compiler;
package com.yihu.hos.broker.common.compiler;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.broker.common.constants.BrokerConstant;
import com.yihu.hos.core.file.FileUtil;
import com.yihu.hos.models.SystemClassMapping;
import com.yihu.hos.broker.models.SystemClassMapping;
import com.yihu.hos.web.framework.util.GridFSUtil;
import javax.tools.*;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/compiler/ClassParams.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.compiler;
package com.yihu.hos.broker.common.compiler;
/**
 *  请求参数封装类-(camel文件生成)

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/constants/BrokerConstant.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.constants;
package com.yihu.hos.broker.common.constants;
/**
 * Created by Administrator on 2016/4/13.

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/constants/MonitorConstant.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.constants;
package com.yihu.hos.broker.common.constants;
/**
 * @author HZY

+ 5 - 5
hos-broker/src/main/java/com/yihu/hos/common/dao/BrokerDao.java

@ -1,9 +1,9 @@
package com.yihu.hos.common.dao;
package com.yihu.hos.broker.common.dao;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.models.SystemServiceEndpoint;
import com.yihu.hos.models.SystemServiceFlow;
import com.yihu.hos.models.SystemServiceFlowClass;
import com.yihu.hos.broker.common.constants.BrokerConstant;
import com.yihu.hos.broker.models.SystemServiceEndpoint;
import com.yihu.hos.broker.models.SystemServiceFlow;
import com.yihu.hos.broker.models.SystemServiceFlowClass;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/format/PatternLayout.java

@ -3,7 +3,7 @@
// (powered by Fernflower decompiler)
//
package com.yihu.hos.common.format;
package com.yihu.hos.broker.common.format;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.DateUtil;

+ 8 - 9
hos-broker/src/main/java/com/yihu/hos/common/listener/ApplicationStartListener.java

@ -1,18 +1,17 @@
package com.yihu.hos.common.listener;
package com.yihu.hos.broker.common.listener;
import com.mongodb.client.MongoDatabase;
import com.yihu.hos.common.configuration.MongoConfiguration;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.common.dao.BrokerDao;
import com.yihu.hos.broker.configurations.MongoConfiguration;
import com.yihu.hos.broker.common.constants.BrokerConstant;
import com.yihu.hos.broker.common.dao.BrokerDao;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.ClassFileUtil;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.core.encrypt.DES;
import com.yihu.hos.core.encrypt.RSA;
import com.yihu.hos.models.SystemCamelContext;
import com.yihu.hos.models.SystemClassMapping;
import com.yihu.hos.models.SystemServiceFlow;
import com.yihu.hos.models.SystemServiceFlowClass;
import com.yihu.hos.broker.models.SystemCamelContext;
import com.yihu.hos.broker.models.SystemClassMapping;
import com.yihu.hos.broker.models.SystemServiceFlow;
import com.yihu.hos.broker.models.SystemServiceFlowClass;
import com.yihu.hos.web.framework.util.GridFSUtil;
import org.apache.camel.builder.RouteBuilder;
import org.apache.log4j.LogManager;

+ 8 - 8
hos-broker/src/main/java/com/yihu/hos/common/scheduler/MonitorScheduler.java

@ -1,16 +1,16 @@
package com.yihu.hos.common.scheduler;
package com.yihu.hos.broker.common.scheduler;
import com.mongodb.*;
import com.yihu.hos.common.constants.MonitorConstant;
import com.yihu.hos.common.dao.BrokerDao;
import com.yihu.hos.common.util.MongodbUtil;
import com.yihu.hos.common.util.SigarUtil;
import com.yihu.hos.broker.common.constants.MonitorConstant;
import com.yihu.hos.broker.common.dao.BrokerDao;
import com.yihu.hos.broker.common.util.MongodbUtil;
import com.yihu.hos.broker.common.util.SigarUtil;
import com.yihu.hos.core.datatype.DateUtil;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.models.SystemServiceEndpoint;
import com.yihu.hos.models.SystemServiceFlow;
import com.yihu.hos.services.ServiceMonitorService;
import com.yihu.hos.broker.models.SystemServiceEndpoint;
import com.yihu.hos.broker.models.SystemServiceFlow;
import com.yihu.hos.broker.services.ServiceMonitorService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.bson.Document;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/util/MongodbUtil.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.util;
package com.yihu.hos.broker.common.util;
import com.mongodb.client.MongoDatabase;
import com.yihu.ehr.dbhelper.mongodb.MongodbFactory;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/common/util/SigarUtil.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.util;
package com.yihu.hos.broker.common.util;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;

+ 118 - 0
hos-broker/src/main/java/com/yihu/hos/broker/controllers/ESBCamelController.java

@ -0,0 +1,118 @@
package com.yihu.hos.broker.controllers;
import com.yihu.hos.broker.services.ESBCamelService;
import com.yihu.hos.web.framework.model.Result;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
 * Created by lingfeng on 2016/8/4.
 */
@RestController
@RequestMapping("/esb")
public class ESBCamelController {
    @Resource(name = ESBCamelService.BEAN_ID)
    ESBCamelService esbCamelService;
    @RequestMapping(value = "/test", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation(value = "新增Processor处理器", produces = "application/json", notes = "当外界组件通知一个新的processor处理器被定义时,该事件被触发")
    public Result test() {
        return Result.success("test");
    }
    @RequestMapping(value = "/processor", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation(value = "新增Processor处理器", produces = "application/json", notes = "当外界组件通知一个新的processor处理器被定义时,该事件被触发")
    public Result onProcessorAdded(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/processor", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ApiOperation(value = "修改Processor处理器", produces = "application/json", notes = "当外界组件通知一个已有的processor处理器data部分发生变化时,该事件被触发")
    public Result onProcessorDataChanged(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/processor", produces = "application/json;charset=UTF-8", method = RequestMethod.DELETE)
    @ApiOperation(value = "删除Processor处理器", produces = "application/json", notes = "当外界组件通知一个已有的processor处理器data部分发生删除时,该事件被触发")
    public Result onProcessorDataDelete(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/route", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation(value = "新增Route路由", produces = "application/json", notes = "当外界组件通知一个新的RouteDefine路由被定义时,该事件被触发")
    public Result onRouteDefineAdded(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/route", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ApiOperation(value = "修改Route路由", produces = "application/json", notes = "当外界组件通知一个已有的RouteDefine路由定义被改变时,主要就是路由定义内容被改变时,该事件被触发")
    public Result onRouteDefineChanged(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/route", produces = "application/json;charset=UTF-8", method = RequestMethod.DELETE)
    @ApiOperation(value = "删除Route路由", produces = "application/json", notes = "当外界组件通知一个已有的RouteDefine路由定义被删除时,该事件被触发")
    public Result onRouteDefineDelete(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/route/start", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ApiOperation(value = "删除Route路由", produces = "application/json", notes = "启动路由时,该事件被触发")
    public Result onRouteDefineStart(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/route/stop", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ApiOperation(value = "删除Route路由", produces = "application/json", notes = "停止路由时,该事件被触发")
    public Result onRouteDefineStop(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/genRoute", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation(value = "生成新的route文件", produces = "application/json", notes = "生成新的camel文件")
    public Result genRoute(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/updateRoute", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ApiOperation(value = "修改route文件", produces = "application/json", notes = "生成新的camel文件")
    public Result updateRoute(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
    @RequestMapping(value = "/genProcessor", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation(value = "生成新的processor文件", produces = "application/json", notes = "生成新的camel文件")
    public Result genProcessor(
            @ApiParam(name = "msg", value = "消息", required = true)
            @RequestBody() String msg) {
        return Result.success(msg);
    }
}

+ 4 - 4
hos-broker/src/main/java/com/yihu/hos/controllers/GatewayController.java

@ -1,10 +1,10 @@
package com.yihu.hos.controllers;
package com.yihu.hos.broker.controllers;
import com.yihu.hos.core.constants.ExceptionConstant;
import com.yihu.hos.core.exception.ESBException;
import com.yihu.hos.models.GatewayRequestResult;
import com.yihu.hos.models.GatewayResponseResult;
import com.yihu.hos.services.GatewayService;
import com.yihu.hos.broker.models.GatewayRequestResult;
import com.yihu.hos.broker.models.GatewayResponseResult;
import com.yihu.hos.broker.services.GatewayService;
import net.sf.json.JSONObject;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/BusinessLog.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/GatewayRequestResult.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import java.io.Serializable;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/GatewayResponseResult.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import com.yihu.hos.core.constants.ExceptionConstant;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/ServiceMetrics.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/SystemCamelContext.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/SystemClassMapping.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import java.util.HashMap;
import java.util.Map;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/SystemServiceEndpoint.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
/**
 *

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/SystemServiceFlow.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
import java.util.Date;
import java.util.List;

+ 1 - 1
hos-broker/src/main/java/com/yihu/hos/models/SystemServiceFlowClass.java

@ -1,4 +1,4 @@
package com.yihu.hos.models;
package com.yihu.hos.broker.models;
/**
 *  系统服务流程class

+ 3 - 3
hos-broker/src/main/java/com/yihu/hos/services/BrokerServerService.java

@ -1,9 +1,9 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.hos.common.configuration.ApplicationConfiguration;
import com.yihu.hos.common.configuration.ArbiterConfiguration;
import com.yihu.hos.broker.configurations.ApplicationConfiguration;
import com.yihu.hos.broker.configurations.ArbiterConfiguration;
import com.yihu.hos.core.net.IPChoiceUtils;
import org.apache.camel.util.InetAddressUtil;
import org.apache.http.Consts;

+ 2 - 2
hos-broker/src/main/java/com/yihu/hos/services/BusinessLogService.java

@ -1,10 +1,10 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.core.datatype.DateUtil;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.models.BusinessLog;
import com.yihu.hos.broker.models.BusinessLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.stereotype.Component;

+ 8 - 11
hos-broker/src/main/java/com/yihu/hos/services/ESBCamelService.java

@ -1,20 +1,19 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.mongodb.client.MongoDatabase;
import com.yihu.hos.common.classLoader.DynamicClassLoader;
import com.yihu.hos.common.compiler.CamelCompiler;
import com.yihu.hos.common.compiler.ClassParams;
import com.yihu.hos.common.configuration.MongoConfiguration;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.broker.common.classLoader.DynamicClassLoader;
import com.yihu.hos.broker.common.compiler.CamelCompiler;
import com.yihu.hos.broker.common.compiler.ClassParams;
import com.yihu.hos.broker.configurations.MongoConfiguration;
import com.yihu.hos.broker.common.constants.BrokerConstant;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.ClassFileUtil;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.encrypt.DES;
import com.yihu.hos.models.SystemCamelContext;
import com.yihu.hos.models.SystemClassMapping;
import com.yihu.hos.broker.models.SystemCamelContext;
import com.yihu.hos.broker.models.SystemClassMapping;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.GridFSUtil;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
@ -25,8 +24,6 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Map;
/**

+ 3 - 3
hos-broker/src/main/java/com/yihu/hos/services/GatewayService.java

@ -1,11 +1,11 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.yihu.hos.common.configuration.GatewayConfiguration;
import com.yihu.hos.broker.configurations.GatewayConfiguration;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.constants.ExceptionConstant;
import com.yihu.hos.core.exception.ESBException;
import com.yihu.hos.core.http.HttpClientKit;
import com.yihu.hos.models.GatewayRequestResult;
import com.yihu.hos.broker.models.GatewayRequestResult;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

+ 3 - 3
hos-broker/src/main/java/com/yihu/hos/services/ServiceMonitorService.java

@ -1,4 +1,4 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -6,8 +6,8 @@ import com.mongodb.*;
import com.yihu.hos.core.datatype.DateUtil;
import com.yihu.hos.core.datatype.NumberUtil;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.models.BusinessLog;
import com.yihu.hos.models.ServiceMetrics;
import com.yihu.hos.broker.models.BusinessLog;
import com.yihu.hos.broker.models.ServiceMetrics;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;

+ 0 - 29
hos-broker/src/main/java/com/yihu/hos/common/configuration/ActivemqConfiguration.java

@ -1,29 +0,0 @@
package com.yihu.hos.common.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/4.
 */
@Configuration
public class ActivemqConfiguration {
    @Value("${spring.activemq.broker-url}")
    private String brokerURL;
    @Value("${spring.activemq.user}")
    private String user;
    @Value("${spring.activemq.password}")
    private String password;
    public String getBrokerURL() {
        return brokerURL;
    }
    public String getUser() {
        return user;
    }
    public String getPassword() {
        return password;
    }
}

+ 0 - 23
hos-broker/src/main/java/com/yihu/hos/common/configuration/ApplicationConfiguration.java

@ -1,23 +0,0 @@
package com.yihu.hos.common.configuration;
import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/1.
 */
@Configuration
public class ApplicationConfiguration implements ApplicationListener<EmbeddedServletContainerInitializedEvent> {
    private int port;
    @Override
    public void onApplicationEvent(EmbeddedServletContainerInitializedEvent event) {
        port = event.getEmbeddedServletContainer().getPort();
    }
    public int getPort() {
        return port;
    }
}

+ 0 - 24
hos-broker/src/main/java/com/yihu/hos/common/configuration/ArbiterConfiguration.java

@ -1,24 +0,0 @@
package com.yihu.hos.common.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/1.
 */
@Configuration
public class ArbiterConfiguration {
    @Value("${hos.arbiter.enable}")
    private boolean enable;
    @Value("${hos.arbiter.url}")
    private String server;
    public String getServer() {
        return server;
    }
    public boolean getEnable() {
        return enable;
    }
}

+ 0 - 31
hos-broker/src/main/java/com/yihu/hos/common/configuration/GatewayConfiguration.java

@ -1,31 +0,0 @@
package com.yihu.hos.common.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/4.
 */
@Configuration
public class GatewayConfiguration {
    @Value("${spring.gateway.ip}")
    private String ip;
    @Value("${spring.gateway.port}")
    private String port;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public String getPort() {
        return port;
    }
    public void setPort(String port) {
        this.port = port;
    }
}

+ 0 - 57
hos-broker/src/main/java/com/yihu/hos/common/configuration/MongoConfiguration.java

@ -1,57 +0,0 @@
package com.yihu.hos.common.configuration;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
import static java.util.Collections.singletonList;
/**
 * @created Airhead 2016/7/27.
 */
@Configuration
public class MongoConfiguration extends AbstractMongoConfiguration {
//    @Value("${spring.data.mongodb.uri}")
//    private String uri;
    @Value("${spring.data.mongodb.host}")
    private String host;
    @Value("${spring.data.mongodb.port}")
    private int port;
    @Value("${spring.data.mongodb.username}")
    private String username;
    @Value("${spring.data.mongodb.password}")
    private String password;
    @Value("${spring.data.mongodb.authenticationDatabase}")
    private String authenticationDatabase;
    @Value("${spring.data.mongodb.database}")
    private String database;
    @Override
    public String getDatabaseName() {
        return database;
    }
    @Override
    @Bean
    public Mongo mongo() throws Exception {
        return new MongoClient(singletonList(new ServerAddress(host, port)),
                singletonList(MongoCredential.createCredential(username, authenticationDatabase, password.toCharArray())));
    }
    private static MongoClient mongo;
    public MongoClient mongoClient() throws Exception {
        if(mongo == null) {
            return new MongoClient(singletonList(new ServerAddress(host, port)),
                    singletonList(MongoCredential.createCredential(username, authenticationDatabase, password.toCharArray())));
        }
        return mongo;
    }
}

+ 0 - 36
hos-broker/src/main/java/com/yihu/hos/common/listener/HosServiceListener.java

@ -1,36 +0,0 @@
package com.yihu.hos.common.listener;
/**
 * @created Airhead 2016/8/2.
 */
public interface HosServiceListener {
    /**
     * 当外界组件通知一个新的processor处理器被定义时,该事件被触发。
     *
     * @param systemId    本次processor处理器变化,所涉及的业务系统唯一标识。在zookeeper数据结构中就是“systemNameA”。
     * @param packageName processor处理器定义涉及的class包名
     * @param className   processor处理器定义涉及的class类名
     * @param path    processor处理器定义涉及的class内容,如果zookeeper数据结构中class分片存储,在业务级接口层面上也进行了合并
     */
    void onProcessorAdded(String systemId, String packageName, String className, String path);
    /**
     * 当外界组件通知一个已有的processor处理器data部分发生变化时,该事件被触发。
     */
    void onProcessorDataChanged(String systemId, String packageName, String className, String path);
    /**
     * 当外界组件通知一个新的RouteDefine路由被定义时,该事件被触发
     */
    void onRouteDefineAdded(String systemId, String packageName, String className, String path);
    /**
     * 当外界组件通知一个已有的RouteDefine路由定义被改变时,主要就是路由定义内容被改变时,该事件被触发。
     */
    void onRouteDefineChanged(String systemId, String packageName, String className, String path);
    /**
     * 当外界组件通知一个已有的RouteDefine路由定义被删除时,该事件被触发。
     */
    void onRouteDefineDelete(String systemId, String packageName, String className);
}

+ 0 - 44
hos-broker/src/main/java/com/yihu/hos/common/swagger/SwaggerConfig.java

@ -1,44 +0,0 @@
package com.yihu.hos.common.swagger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.async.DeferredResult;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig  {
    private static final String PUBLIC_API = "Default";
    @Bean
    public Docket publicAPI() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName(PUBLIC_API)
                .genericModelSubstitutes(DeferredResult.class)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(true)
                .pathMapping("/")
                .select()
                .paths(PathSelectors.regex("/.*"))
                .build()
                .apiInfo(publicApiInfo());
    }
    private ApiInfo publicApiInfo() {
        ApiInfo apiInfo = new ApiInfo("ESB平台API",
                "向其他服务提供的接口。",
                "1.0",
                "No terms of service",
                "admin@jkzl.com",
                "The Apache License, Version 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0.html"
        );
        return apiInfo;
    }
}

+ 0 - 204
hos-broker/src/main/java/com/yihu/hos/controllers/ESBCamelController.java

@ -1,204 +0,0 @@
package com.yihu.hos.controllers;
import com.yihu.hos.common.compiler.ClassParams;
import com.yihu.hos.services.ESBCamelService;
import com.yihu.hos.web.framework.model.Result;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
/**
 * Created by lingfeng on 2016/8/4.
 */
@Controller
@RequestMapping("/esb")
public class ESBCamelController {
    @Resource(name= ESBCamelService.BEAN_ID)
    ESBCamelService esbCamelService;
    @RequestMapping(value = "/test", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "新增Processor处理器", produces = "application/json", notes = "当外界组件通知一个新的processor处理器被定义时,该事件被触发")
    public Result test() {
      return Result.success("test");
    }
    @RequestMapping(value = "/processor", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "新增Processor处理器", produces = "application/json", notes = "当外界组件通知一个新的processor处理器被定义时,该事件被触发")
    public Result onProcessorAdded(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "path", value = "class文件路径", required = true)
            @RequestParam(value = "path") String path) {
        return esbCamelService.onProcessorAdded(serviceFlow, packageName, className, path);
    }
    @RequestMapping(value = "/processor", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ResponseBody
    @ApiOperation(value = "修改Processor处理器", produces = "application/json", notes = "当外界组件通知一个已有的processor处理器data部分发生变化时,该事件被触发")
    public Result onProcessorDataChanged(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "path", value = "class文件路径", required = true)
            @RequestParam(value = "path") String path) {
        return esbCamelService.onProcessorDataChanged(serviceFlow, packageName, className, path);
    }
    @RequestMapping(value = "/processor", produces = "application/json;charset=UTF-8", method = RequestMethod.DELETE)
    @ResponseBody
    @ApiOperation(value = "删除Processor处理器", produces = "application/json", notes = "当外界组件通知一个已有的processor处理器data部分发生删除时,该事件被触发")
    public Result onProcessorDataDelete(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className) {
        return esbCamelService.onProcessorDataDelete(serviceFlow, packageName, className);
    }
    @RequestMapping(value = "/route", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "新增Route路由", produces = "application/json", notes = "当外界组件通知一个新的RouteDefine路由被定义时,该事件被触发")
    public Result onRouteDefineAdded(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "path", value = "class文件路径", required = true)
            @RequestParam(value = "path") String path) {
        return esbCamelService.onRouteDefineAdded(serviceFlow, packageName, className, path);
    }
    @RequestMapping(value = "/route", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ResponseBody
    @ApiOperation(value = "修改Route路由", produces = "application/json", notes = "当外界组件通知一个已有的RouteDefine路由定义被改变时,主要就是路由定义内容被改变时,该事件被触发")
    public Result onRouteDefineChanged(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "path", value = "class文件路径", required = true)
            @RequestParam(value = "path") String path) {
        return esbCamelService.onRouteDefineChanged(serviceFlow, packageName, className, path);
    }
    @RequestMapping(value = "/route", produces = "application/json;charset=UTF-8", method = RequestMethod.DELETE)
    @ResponseBody
    @ApiOperation(value = "删除Route路由", produces = "application/json", notes = "当外界组件通知一个已有的RouteDefine路由定义被删除时,该事件被触发")
    public Result onRouteDefineDelete(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className) {
        return esbCamelService.onRouteDefineDelete(serviceFlow, packageName, className);
    }
    @RequestMapping(value = "/route/start", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ResponseBody
    @ApiOperation(value = "删除Route路由", produces = "application/json", notes = "启动路由时,该事件被触发")
    public Result onRouteDefineStart(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow) {
        return esbCamelService.onRouteDefineStart(serviceFlow);
    }
    @RequestMapping(value = "/route/stop", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ResponseBody
    @ApiOperation(value = "删除Route路由", produces = "application/json", notes = "停止路由时,该事件被触发")
    public Result onRouteDefineStop(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow") String serviceFlow) {
        return esbCamelService.onRouteDefineStop(serviceFlow);
    }
    @RequestMapping(value = "/genRoute", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "生成新的route文件", produces = "application/json", notes = "生成新的camel文件")
    public Result genRoute(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow",required = true) String serviceFlow,
            @ApiParam(name = "path", value = "文件路径", required = true)
            @RequestParam(value = "path",required = true) String path,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "cron", value = "新cron表达式", required = true)
            @RequestParam(value = "cron") String cron) {
        ClassParams params = new ClassParams();
        params.setRouteId(serviceFlow);
        params.setPackageName(packageName);
        params.setFilePath(path);
        params.setOldClassName(className);
        params.setNewClassName(className+serviceFlow);
        params.setCron(cron);
        return esbCamelService.onRouteClassAdded(params);
    }
    @RequestMapping(value = "/updateRoute", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
    @ResponseBody
    @ApiOperation(value = "修改route文件", produces = "application/json", notes = "生成新的camel文件")
    public Result updateRoute(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow",required = true) String serviceFlow,
            @ApiParam(name = "path", value = "文件路径", required = true)
            @RequestParam(value = "path",required = true) String path,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "cron", value = "新cron表达式", required = true)
            @RequestParam(value = "cron") String cron) {
        ClassParams params = new ClassParams();
        params.setRouteId(serviceFlow);
        params.setPackageName(packageName);
        params.setFilePath(path);
        params.setOldClassName(className);
        params.setNewClassName(className+serviceFlow);
        params.setCron(cron);
        return esbCamelService.onRouteClassChanged(params);
    }
    @RequestMapping(value = "/genProcessor", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "生成新的processor文件", produces = "application/json", notes = "生成新的camel文件")
    public Result genProcessor(
            @ApiParam(name = "serviceFlow", value = "服务名称", required = true)
            @RequestParam(value = "serviceFlow",required = true) String serviceFlow,
            @ApiParam(name = "path", value = "文件路径", required = true)
            @RequestParam(value = "path",required = true) String path,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "className", value = "类名", required = true)
            @RequestParam(value = "className") String className,
            @ApiParam(name = "cron", value = "新cron表达式", required = true)
            @RequestParam(value = "cron") String cron) {
        return esbCamelService.onProcessorClassAdded(serviceFlow, packageName, className,path);
    }
}

+ 1 - 1
hos-broker/src/main/resources/application.yml

@ -127,6 +127,6 @@ server:
hos:
  arbiter:
    enable: true
    url: http://172.19.103.89:10135
    url: http://192.168.131.38:10135
  timer:
      period: 10000

+ 3 - 3
hos-broker/src/main/resources/log4j.properties

@ -25,11 +25,11 @@ log4j.rootLogger=INFO, jms
# CONSOLE appender not used by default
log4j.appender.out=org.apache.log4j.ConsoleAppender
log4j.appender.out.layout=com.yihu.hos.common.format.PatternLayout
log4j.appender.out.layout=com.yihu.hos.broker.common.format.PatternLayout
log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
log4j.appender.jms=com.yihu.hos.common.appender.JMSAppender
log4j.appender.jms=com.yihu.hos.broker.common.appender.JMSAppender
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.jms.ProviderURL=tcp://172.19.103.86:61616
log4j.appender.jms.TopicBindingName=logTopic
@ -38,7 +38,7 @@ log4j.appender.jms.userName=admin
log4j.appender.jms.password=admin
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.layout=com.yihu.hos.common.format.PatternLayout
#log4j.appender.file.layout=com.yihu.hos.broker.common.format.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%m%n
#log4j.appender.file.file=D:/log/camel-http4-test.log

+ 1 - 1
src/main/java/com/yihu/hos/common/CollectHelper.java

@ -1,4 +1,4 @@
package com.yihu.hos.common;
package com.yihu.hos.broker.common;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

+ 1 - 2
src/main/java/com/yihu/hos/common/CommonPageController.java

@ -1,6 +1,5 @@
package com.yihu.hos.common;
package com.yihu.hos.broker.common;
import com.yihu.hos.web.framework.util.PKUtil;
import com.yihu.hos.web.framework.util.controller.BaseController;
import com.yihu.hos.system.model.SystemUser;
import org.springframework.stereotype.Controller;

+ 1 - 2
src/main/java/com/yihu/hos/common/JXLUtil.java

@ -1,4 +1,4 @@
package com.yihu.hos.common;
package com.yihu.hos.broker.common;
import jxl.Cell;
import jxl.Sheet;
@ -8,7 +8,6 @@ import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;

+ 1 - 1
src/main/java/com/yihu/hos/common/ObjectVersion.java

@ -1,4 +1,4 @@
package com.yihu.hos.common;
package com.yihu.hos.broker.common;
import java.io.Serializable;
import java.security.SecureRandom;

+ 1 - 1
src/main/java/com/yihu/hos/common/ReflectUtil.java

@ -1,4 +1,4 @@
package com.yihu.hos.common;
package com.yihu.hos.broker.common;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

+ 1 - 1
src/main/java/com/yihu/hos/common/Services.java

@ -1,4 +1,4 @@
package com.yihu.hos.common;
package com.yihu.hos.broker.common;
/**
 * 平台顶级服务列表.

+ 1 - 1
src/main/java/com/yihu/hos/common/constants/Constants.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.constants;
package com.yihu.hos.broker.common.constants;
/**
 * @author HZY

+ 1 - 1
src/main/java/com/yihu/hos/common/constants/ContextAttributes.java

@ -1,4 +1,4 @@
package com.yihu.hos.common.constants;
package com.yihu.hos.broker.common.constants;
/**
 * @created Airhead 2016/11/14.

src/main/java/com/yihu/hos/services/IBaseManager.java → src/main/java/com/yihu/hos/broker/services/IBaseManager.java


+ 2 - 2
src/main/java/com/yihu/hos/services/ServiceFlowEventService.java

@ -1,8 +1,8 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.common.constants.Constants;
import com.yihu.hos.broker.common.constants.Constants;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.system.model.bo.ServiceFlow;

+ 1 - 1
src/main/java/com/yihu/hos/datacollect/controller/DataCollectController.java

@ -2,7 +2,7 @@ package com.yihu.hos.datacollect.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.datacollect.model.RsJobConfig;
import com.yihu.hos.datacollect.service.intf.IDatacollectManager;

+ 1 - 1
src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java

@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.datacollect.dao.intf.IDatacollectDao;
import com.yihu.hos.datacollect.model.*;
import com.yihu.hos.datacollect.service.intf.IDatacollectManager;

+ 1 - 1
src/main/java/com/yihu/hos/datacollect/service/DatacollectService.java

@ -10,7 +10,7 @@ import com.yihu.ehr.dbhelper.common.sqlparser.ParserSql;
import com.yihu.ehr.dbhelper.common.sqlparser.ParserSqlserver;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.dbhelper.mongodb.MongodbHelper;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.crawler.model.config.SysConfig;

+ 1 - 1
src/main/java/com/yihu/hos/datacollect/service/DatapushService.java

@ -1,7 +1,7 @@
package com.yihu.hos.datacollect.service;
import com.yihu.ehr.dbhelper.mongodb.MongodbHelper;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.datacollect.dao.intf.IDatacollectDao;

+ 1 - 1
src/main/java/com/yihu/hos/interceptor/AuditInterceptor.java

@ -1,6 +1,6 @@
package com.yihu.hos.interceptor;
import com.yihu.hos.common.constants.ContextAttributes;
import com.yihu.hos.broker.common.constants.ContextAttributes;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.EmptyInterceptor;
import org.slf4j.Logger;

+ 1 - 1
src/main/java/com/yihu/hos/listeners/ApplicationStart.java

@ -2,7 +2,7 @@ package com.yihu.hos.listeners;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.services.ServiceFlowEventService;
import com.yihu.hos.broker.services.ServiceFlowEventService;
import com.yihu.hos.system.model.bo.ServiceFlow;
import com.yihu.hos.system.service.FlowManager;
import com.yihu.hos.web.framework.constrant.DateConvert;

+ 1 - 1
src/main/java/com/yihu/hos/monitor/service/ServiceMonitorService.java

@ -1,7 +1,7 @@
package com.yihu.hos.monitor.service;
import com.mongodb.*;
import com.yihu.hos.common.constants.Constants;
import com.yihu.hos.broker.common.constants.Constants;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.monitor.dao.ServiceMonitorDao;
import com.yihu.hos.system.model.SystemServiceEndpoint;

+ 1 - 1
src/main/java/com/yihu/hos/resource/controller/RsResourceController.java

@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.hos.common.JXLUtil;
import com.yihu.hos.broker.common.JXLUtil;
import com.yihu.hos.resource.model.*;
import com.yihu.hos.resource.service.IRsResourceRestService;
import com.yihu.hos.resource.service.IRsResourceService;

+ 1 - 1
src/main/java/com/yihu/hos/resource/controller/StdController.java

@ -1,6 +1,6 @@
package com.yihu.hos.resource.controller;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.controller.BaseController;
import com.yihu.hos.resource.service.IStdService;

+ 1 - 1
src/main/java/com/yihu/hos/resource/service/impl/StdService.java

@ -2,7 +2,7 @@ package com.yihu.hos.resource.service.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.resource.service.IStdService;
import com.yihu.hos.standard.model.adapter.AdapterDatasetModel;

+ 1 - 1
src/main/java/com/yihu/hos/standard/service/bo/AdapterVersion.java

@ -1,7 +1,7 @@
package com.yihu.hos.standard.service.bo;
import com.yihu.hos.web.framework.constrant.SqlConstants;
import com.yihu.hos.common.ObjectVersion;
import com.yihu.hos.broker.common.ObjectVersion;
public class AdapterVersion {
    public static final String FBVersion = "000000000000";

+ 1 - 1
src/main/java/com/yihu/hos/standard/service/bo/StandardVersion.java

@ -1,6 +1,6 @@
package com.yihu.hos.standard.service.bo;
import com.yihu.hos.common.ObjectVersion;
import com.yihu.hos.broker.common.ObjectVersion;
public class StandardVersion {
    public final static String VersionBoundSymbol = "_";

+ 1 - 1
src/main/java/com/yihu/hos/system/controller/BaseDictController.java

@ -1,6 +1,6 @@
package com.yihu.hos.system.controller;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.controller.BaseController;
import com.yihu.hos.system.model.SystemDict;

+ 1 - 1
src/main/java/com/yihu/hos/system/controller/DatasourceController.java

@ -1,6 +1,6 @@
package com.yihu.hos.system.controller;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.system.model.SystemDatasource;
import com.yihu.hos.system.service.intf.IDatasourceManager;
import com.yihu.hos.web.framework.model.Result;

+ 1 - 6
src/main/java/com/yihu/hos/system/controller/FlowController.java

@ -1,7 +1,7 @@
package com.yihu.hos.system.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.common.constants.Constants;
import com.yihu.hos.broker.common.constants.Constants;
import com.yihu.hos.system.model.SystemServiceFlow;
import com.yihu.hos.system.model.SystemServiceFlowClass;
import com.yihu.hos.system.model.SystemServiceFlowTemp;
@ -9,8 +9,6 @@ import com.yihu.hos.system.service.FlowManager;
import com.yihu.hos.system.service.intf.IFlowManage;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.controller.BaseController;
import org.apache.commons.fileupload.disk.DiskFileItem;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
@ -21,9 +19,6 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;

+ 1 - 2
src/main/java/com/yihu/hos/system/service/BaseDictManager.java

@ -7,13 +7,12 @@ import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.system.dao.intf.IBaseDictDao;
import com.yihu.hos.system.model.SystemDictList;
import com.yihu.hos.system.service.intf.IBaseDictManager;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.system.model.SystemDict;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
 * Created by hzp on 2016/1/11.

+ 1 - 2
src/main/java/com/yihu/hos/system/service/DatasourceManager.java

@ -5,12 +5,11 @@ import com.yihu.hos.web.framework.model.DataGridResult;
import com.yihu.hos.system.dao.intf.IDatasourceDao;
import com.yihu.hos.system.model.SystemDatasource;
import com.yihu.hos.system.service.intf.IDatasourceManager;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

+ 8 - 143
src/main/java/com/yihu/hos/system/service/FlowManager.java

@ -1,27 +1,29 @@
package com.yihu.hos.system.service;
import com.yihu.hos.common.constants.Constants;
import com.yihu.hos.broker.common.constants.Constants;
import com.yihu.hos.config.MongoConfig;
import com.yihu.hos.core.file.FileUtil;
import com.yihu.hos.services.ServiceFlowEventService;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.encrypt.DES;
import com.yihu.hos.broker.services.ServiceFlowEventService;
import com.yihu.hos.system.dao.FlowClassDao;
import com.yihu.hos.system.dao.FlowDao;
import com.yihu.hos.system.dao.FlowTempDao;
import com.yihu.hos.system.model.SystemServiceFlow;
import com.yihu.hos.system.model.SystemServiceFlowClass;
import com.yihu.hos.system.model.SystemServiceFlowTemp;
import com.yihu.hos.system.model.bo.ServiceFlow;
import com.yihu.hos.system.service.intf.IFlowManage;
import com.yihu.hos.web.framework.model.ActionResult;
import com.yihu.hos.web.framework.model.DictItem;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.GridFSUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
import com.yihu.hos.config.MongoConfig;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.encrypt.DES;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -390,141 +392,6 @@ public class FlowManager implements IFlowManage {
        }
    }
    public Integer addRouteFile(Integer tempId,Integer flowId, String newCron ,Long timestamp) throws Exception {
        ObjectMapper objectMapper = new ObjectMapper();
        List<SystemServiceFlowTemp> flowTempRouters = flowTempDao.getFlowTemps(tempId, Constants.FLOW_TYPE_ROUTE);
        SystemServiceFlow newFlow = getFlowById(flowId);
        //route模板文件记录是否存在。不存在就返回。
        if (!flowTempRouters.isEmpty()){
            Map<String,String> params = null;
            SystemServiceFlowTemp flowTemp =flowTempRouters.get(0);
            StringBuilder basePath = new StringBuilder();;
            if (flowTemp.getPackageName()!=null){
                String packagePath[] = flowTemp.getPackageName().split("\\.");
                for (int i=0;i<packagePath.length;i++){
                    basePath.append(packagePath[i]).append("/");
                }
            }
            //新增processor记录
                String newClassName = flowTemp.getClassName()+timestamp;
                String newRoutePath =null;
                params = new HashMap<>();
                params.put("routeId", newFlow.getCode());
                params.put("type",Constants.FLOW_TYPE_ROUTE);
                params.put("filePath", flowTemp.getClassPath());
                params.put("packageName", basePath.toString());
                params.put("oldClassName", flowTemp.getClassName());
                params.put("newClassName",newClassName);//原文件名加当前时间戳
                params.put("newCron",newCron);
                HTTPResponse response  = HttpClientKit.post(genCamelUrl, params);
                if (response.getStatusCode()==200 ){
                    Map<String,Object> body = objectMapper.readValue(response.getBody(),Map.class);
                    boolean succ = (boolean) body.get("successFlg");
                    if (succ){
                        newRoutePath = body.get("message").toString();
                    }else {
                        return null;
                    }
                    System.out.println(response.getBody());
                    SystemServiceFlowClass newFlowClass = new SystemServiceFlowClass();
                    newFlowClass.setPackageName(flowTemp.getPackageName());
                    newFlowClass.setClassName(newClassName);
                    newFlowClass.setClassPath(newRoutePath);
                    newFlowClass.setFlowId(newFlow.getId());
                    newFlowClass.setType(Constants.FLOW_TYPE_ROUTE);
                    flowClassDao.saveEntity(newFlowClass);
                    newFlowClass.setIsUpdate("1");
                    sendUpdateMessage(newFlow.getCode(), newFlowClass, Constants.FLOW_OP_ADD);
                }else {
                    return null;
                }
            return newFlow.getId();
        }
        return null;
    }
    public Integer addProcessorFile(Integer flowId, String newCron,Long timestamp) throws Exception {
        ObjectMapper objectMapper = new ObjectMapper();
        List<SystemServiceFlowTemp> flowClassRouters = flowTempDao.getFlowTemps(flowId, Constants.FLOW_TYPE_ROUTE);
        List<SystemServiceFlowTemp> flowClassProces = flowTempDao.getFlowTemps(flowId, Constants.FLOW_TYPE_PROCESSOR);
        SystemServiceFlow oldFlow = getFlowById(flowId);
        //route模板文件记录是否存在。不存在就返回。
        if (!flowClassRouters.isEmpty()){
            Map<String,String> params = null;
            SystemServiceFlowTemp flowTemp =flowClassRouters.get(0);
            StringBuilder basePath = new StringBuilder();;
            if (flowTemp.getPackageName()!=null){
                String packagePath[] = flowTemp.getPackageName().split("\\.");
                for (int i=0;i<packagePath.length;i++){
                    basePath.append(packagePath[i]).append("/");
                }
            }
            //成功生成文件后,添加flow和flowclass记录
            //生成新流程
            SystemServiceFlow newFlow = new SystemServiceFlow();
            newFlow.setName(oldFlow.getName()+timestamp);
            newFlow.setCode(oldFlow.getCode()+timestamp);
            newFlow.setChart(oldFlow.getChart());
            newFlow.setValid(1);
            newFlow.setCreateDate(new Date());
            newFlow.setFileType(Constants.CLASS);
            flowDao.saveEntity(newFlow);
            //新增processor记录
            for (SystemServiceFlowTemp process:flowClassProces){
//                String newProcessName = process.getClassName()+timestamp;
                String newProcessPath = null;
                StringBuilder proPath =  new StringBuilder( );;
                if (process.getPackageName()!=null){
                    String packagePath[] = process.getPackageName().split("\\.");
                    for (int i=0;i<packagePath.length;i++){
                        proPath.append(packagePath[i]).append("/");
                    }
                }
                params = new HashMap<>();
                params.put("routeId", newFlow.getCode());
                params.put("type",Constants.FLOW_TYPE_PROCESSOR);
                params.put("filePath", process.getClassPath());
                params.put("packageName", proPath.toString());
                params.put("newClassName",process.getClassName());//原文件名加当前时间戳
                params.put("oldClassName", process.getClassName());
                params.put("newCron",newCron);
                HTTPResponse response = HttpClientKit.post(genCamelUrl, params);
                if (response.getStatusCode()==200 ){
                    Map<String,Object> body = objectMapper.readValue(response.getBody(),Map.class);
                    boolean succ = (boolean) body.get("successFlg");
                    if (succ){
                        newProcessPath = body.get("message").toString();
                        System.out.println(response.getBody());
                        SystemServiceFlowClass processClass = new SystemServiceFlowClass();
                        processClass.setPackageName(process.getPackageName());
                        processClass.setClassName(process.getClassName());
                        processClass.setClassPath(newProcessPath);
                        processClass.setFlowId(newFlow.getId());
                        processClass.setType(Constants.FLOW_TYPE_PROCESSOR);
                        flowClassDao.saveEntity(processClass);
                        processClass.setIsUpdate("1");
                        sendUpdateMessage(newFlow.getCode(), processClass, Constants.FLOW_OP_ADD);
                    }else {
                        return null;
                    }
                }else {
                    return null;
                }
            }
            return newFlow.getId();
        }
        return null;
    }
    /**
     * 修改任务,修改camel相关文件
     * @param flowId 流程ID
@ -554,8 +421,6 @@ public class FlowManager implements IFlowManage {
        return null;
    }
    /* *********************       发送消息方式生成文件   ********************************/
    public Integer sendAddRoute(Integer tempId, Integer flowId, String newCron) throws Exception {
        List<SystemServiceFlowTemp> flowTempRouters = flowTempDao.getFlowTemps(tempId, Constants.FLOW_TYPE_ROUTE);

+ 1 - 1
src/main/java/com/yihu/hos/system/service/OrganizationManager.java

@ -1,6 +1,6 @@
package com.yihu.hos.system.service;
import com.yihu.hos.common.Services;
import com.yihu.hos.broker.common.Services;
import com.yihu.hos.system.dao.intf.IDatasourceDao;
import com.yihu.hos.system.dao.intf.IOrganizationDao;
import com.yihu.hos.system.model.SystemOrganization;

+ 1 - 1
src/test/java/com/yihu/hos/services/ServiceFlowEventServiceTest.java

@ -1,4 +1,4 @@
package com.yihu.hos.services;
package com.yihu.hos.broker.services;
import com.yihu.hos.ESBApplication;
import org.junit.Test;