Переглянути джерело

Merge branch 'master' of http://192.168.1.220:10080/esb/esb

zhenglingfeng 8 роки тому
батько
коміт
2247541bcd

+ 2 - 13
hos-arbiter/src/main/java/com/yihu/hos/arbiter/services/ServiceFlowService.java

@ -3,10 +3,10 @@ package com.yihu.hos.arbiter.services;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mongodb.BasicDBObject;
import com.mongodb.WriteResult;
import com.yihu.hos.web.framework.model.bo.BrokerServer;
import com.yihu.hos.core.http.HTTPResponse;
import com.yihu.hos.core.http.HttpClientKit;
import com.yihu.hos.web.framework.constant.ServiceFlowConstant;
import com.yihu.hos.web.framework.model.bo.BrokerServer;
import com.yihu.hos.web.framework.model.bo.ServiceFlow;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
@ -16,7 +16,6 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.zbus.broker.ZbusBroker;
import java.io.IOException;
import java.util.List;
@ -40,11 +39,6 @@ public class ServiceFlowService {
    private ObjectMapper objectMapper;
    @Autowired
    private BrokerServerService brokerServerService;
    @Autowired
    private ArbiterServerService arbiterServerService;
    private ZbusBroker zbusBroker;
    public ServiceFlow save(ServiceFlow serviceFlow) {
        if (serviceFlow == null) {
@ -63,7 +57,7 @@ public class ServiceFlowService {
        //删除旧记录
        Update delete = new Update();
        for (ServiceFlow.HandleFile handleFile : serviceFlow.getHandleFiles()) {
            delete.pull("handleFiles",new BasicDBObject("className",handleFile.getClassName()));
            delete.pull("handleFiles", new BasicDBObject("className", handleFile.getClassName()));
            Query deleteQuery = Query.query(Criteria.where("className").is(handleFile.getClassName()));
            WriteResult result = mongoOperations.updateFirst(deleteQuery, delete, ServiceFlow.HandleFile.class);
@ -346,11 +340,6 @@ public class ServiceFlowService {
        //可以不用处理。
    }
    @Autowired
    public void setZbusBroker(ZbusBroker zbusBroker) {
        this.zbusBroker = zbusBroker;
    }
    private boolean sendMessage(BrokerServer brokerServer, String method, String path, String msg) {
        if (brokerServer == null) {
            return false;

+ 1 - 8
hos-broker/pom.xml

@ -54,18 +54,11 @@
            <groupId>com.yihu.hos</groupId>
            <artifactId>hos-web-framework</artifactId>
            <version>1.3.0</version>
            <exclusions>
                <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <version>1.4.1.RELEASE</version>
            <!--<scope>provided</scope>-->
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-stream -->
        <!-- sigar -->

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

@ -11,14 +11,20 @@ import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurat
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.data.mongodb.gridfs.GridFsOperations;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@EnableScheduling
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
@EnableAsync
public class HosBrokerApplication extends SpringBootServletInitializer implements CommandLineRunner {
    @Autowired
    private GridFsOperations operations;
    private CamelStartBoot camelStartBoot;
    private ExecutorService executorService = Executors.newSingleThreadExecutor();
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(HosBrokerApplication.class);
@ -28,12 +34,16 @@ public class HosBrokerApplication extends SpringBootServletInitializer implement
    @Override
    public void run(String... strings) throws Exception {
        GridFSUtil.gridFsOperations = operations;
        camelStartBoot = new CamelStartBoot();
        camelStartBoot.start();
        executorService.execute(() -> {
            camelStartBoot = new CamelStartBoot();
            camelStartBoot.start();
        });
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            try {
                camelStartBoot.shutdown();
                executorService.shutdown();
            } catch (Exception ignored) {
            }
        }));

+ 7 - 0
hos-broker/src/main/java/com/yihu/hos/broker/configurations/ArbiterConfiguration.java

@ -14,6 +14,9 @@ public class ArbiterConfiguration {
    @Value("${hos.arbiter.url}")
    private String server;
    @Value("${hos.tenant.name}")
    private String tenant;
    public String getServer() {
        return server;
    }
@ -21,4 +24,8 @@ public class ArbiterConfiguration {
    public boolean getEnable() {
        return enable;
    }
    public String getTenant() {
        return tenant;
    }
}

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

@ -19,8 +19,8 @@ public class ESBCamelController {
    @Autowired
    private ESBCamelService esbCamelService;
    @RequestMapping(value = "/heartbeat", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation(value = "测试服务器可以正常连接", produces = "application/json", notes = "测试服务器可以正常连接")
    @RequestMapping(value = "/heartbeat", method = RequestMethod.GET)
    @ApiOperation(value = "测试服务器可以正常连接", notes = "测试服务器可以正常连接")
    public String heartbeat() {
        return "test";
    }

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

@ -2,7 +2,6 @@ package com.yihu.hos.broker.services;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.hos.broker.configurations.ApplicationConfiguration;
import com.yihu.hos.broker.configurations.ArbiterConfiguration;
import com.yihu.hos.core.http.HTTPResponse;
import com.yihu.hos.core.http.HttpClientKit;
@ -14,7 +13,6 @@ import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.IOException;
@ -28,13 +26,9 @@ import java.util.Map;
 */
@Component("brokerServerService")
public class BrokerServerService {
    private static boolean registered = false;
    @Autowired
    private ApplicationConfiguration applicationConfiguration;
    private static boolean registered = false;  //区分是否第一次
    @Autowired
    private ArbiterConfiguration arbiterConfiguration;
    @Value("${hos.tenant.name}")
    private String tenant;
    private String hostName;
    private String hostAddress;
@ -43,11 +37,18 @@ public class BrokerServerService {
    public void online() {
        try {
            hostName = InetAddressUtil.getLocalHostName();
            hostAddress = IPChoiceUtils.getSourceIP();
            port = applicationConfiguration.getPort();
            String host = System.getenv("host");
            if (host == null) {
                hostAddress = IPChoiceUtils.getSourceIP();
            } else {    //使用Docker方式时按固定的方式配置
                hostAddress = host;
            }
            port = 8099;    //目前先固定下来
            ObjectMapper objectMapper = new ObjectMapper();
            ObjectNode objectNode = objectMapper.createObjectNode();
            objectNode.put("tenant", tenant);
            objectNode.put("tenant", arbiterConfiguration.getTenant());
            objectNode.put("hostName", hostName);
            objectNode.put("hostAddress", hostAddress);
            objectNode.put("port", port);

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

@ -31,7 +31,7 @@ log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
log4j.appender.jms=com.yihu.hos.broker.common.log.JMSAppender
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.jms.ProviderURL=tcp://activemq:61616
log4j.appender.jms.ProviderURL=tcp://172.19.103.58:61616
log4j.appender.jms.TopicBindingName=logTopic
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory
log4j.appender.jms.userName=admin

+ 67 - 0
hos-docker/esb/central-docker-compose/docker-compose.yml

@ -0,0 +1,67 @@
version: "2"
services:
    admin:
        build: /usr/local/esb/hos-admin
        container_name: admin
        ports:
            - "8080:8080"
        volumes:
            - /usr/local/esb/hos-admin/jar:/hos-admin/jar
        depends_on:
            - "mongodb"
            - "mysql"
            - "activemq"
    broker:
        build: /usr/local/esb/hos-broker
        container_name: broker
        ports:
            - "8099:8099"
        volumes:
            - /usr/local/esb/hos-broker/jar:/hos-broker/jar
        environment:
            - host=172.19.103.67
        depends_on:
            - "arbiter"
            - "rest"
            - "mongodb"
            - "mysql"
            - "activemq"
    arbiter:
        build: /usr/local/esb/hos-arbiter
        container_name: arbiter
        ports:
            - "10135:10135"
        volumes:
            - /usr/local/esb/hos-arbiter/jar:/hos-arbiter/jar
        depends_on:
            - "mongodb"
            - "mysql"
            - "activemq"
    rest:
        build: /usr/local/esb/hos-rest
        container_name: rest
        ports:
            - "8088:8088"
        volumes:
            - /usr/local/esb/hos-rest/jar:/hos-rest/jar
        depends_on:
            - "mongodb"
            - "mysql"
            - "activemq"
    mongodb:
        build: /usr/local/esb/mongodb
        container_name: mongodb
        ports:
            - "27017:27017"
    mysql:
        build: /usr/local/esb/mysql
        container_name: mysql
        ports:
            - "3306:3306"
    activemq:
        build: /usr/local/esb/activemq
        container_name: activemq
        ports:
            - "61616:61616"
            - "8161:8161"
      

+ 1 - 0
hos-docker/esb/hos-broker/Dockerfile

@ -1,5 +1,6 @@
FROM daocloud.io/library/java
ENV spring_profiles_active test
ENV host 127.0.0.1
ADD apache-tomcat-8.5.11.tar.gz /

+ 0 - 277
src/main/resources/text/message_zh_CN.properties.orig

@ -1,277 +0,0 @@
## 配置说明
#
# 页面端使用方法:
#   jsp最前面增加该行:<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
#   jsp中汉字替换方法:<spring:message code="lbl.dict.tip.name.input"/>
#      以上code即为该文档中左边部分的编码,为英文概要注解。
##
# Title 页面菜单 ------------------------------------------------------
# 导航显示标题(后期需改善从DB读取)
title.homePage						= 健康之路
title.navigation.menu				= 导航栏菜单
title.register.manage.center		= 注册管理中心
title.data.manage.center			= 数据管理中心
title.personage.record.manage		= 个人档案管理
# 主页面标题
title.login							= 登录
title.retrieve.password				= 找回密码
title.user.manage					= 用户管理
title.org.manage					= 机构管理
title.app.manage					= 应用管理
title.flow.manage                   = 流程管理
title.patient.manage				= 病人管理
title.sysDict.manage				= 系统字典
title.template.manage               = 模版管理
title.detailed.information          = 详细信息
title.dict.manage				    = 标准字典
title.dataSet                       = 数据集
# 弹出子窗口标题
title.user.detail                   = 用户基本信息
title.user.detail.input             = 填写基本信息
title.user.detail.update            = 修改基本信息
title.info.delete                   = 删除信息
title.publicKey.manage              = 公钥管理
title.tel.unwrap                    = 手机解绑
title.mail.unwrap                   = 邮箱解绑
title.org.belong.update             = 修改所属机构
title.org.detail                    = 机构基本信息
title.org.create                    = 新增机构信息
title.org.update                    = 修改机构信息
title.address.update                = 修改地址
title.patient.detail                = 病人基本信息
title.card.manage                   = 卡管理
title.card.detail                   = 卡基本信息
title.record.manage                 = 档案管理
title.info.relieve                  = 解除信息
title.info.unwrap                   = 解绑信息
title.info.claim                    = 认领信息
title.patient.create                = 新增病人信息
title.patient.update                = 修改病人信息
title.app.create                    = 新增应用信息
title.app.update                    = 修改应用信息
title.app.detail                    = 应用基本信息
title.app.qualification             = 资质
title.std.source                   = 标准来源
title.dict.detail                   = 标准字典
title.add.dataSet               =新增数据集
title.add.metaData           =新增数据元
title.updata.data               =修改数据集
title.updata.metaData     =修改数据元
title.metaData                    =数据元
title.basic.attribute          =基本属性
title.database.attribute   =数据库属性
# Button 页面按钮 ------------------------------------------------------
btn.login                           = 登录
btn.confirm                         = 确定
btn.go                              = Go
btn.save                            = 保存
btn.exit                            = 退出
btn.search               			= 搜索
btn.create               			= 新增
btn.update               			= 修改
btn.delete               			= 删除
btn.multi.delete                    = 批量删除
btn.homePage             			= 首页
btn.upPage               			= 上一页
btn.downPage             			= 下一页
btn.trailerPage          			= 尾页
btn.affirm               			= 确认
btn.cancel               			= 取消
btn.reset.pass           			= 重置密码
btn.public.key.manage    			= 公钥管理
btn.public.key.assign      			= 分配公钥
btn.file.choose                     = 选择文件
btn.verification.get                = 获取验证码
btn.record.create                   = 增加档案
btn.record.search                   = 档案搜索
btn.card.create                     = 增加卡
btn.dict.create                     = 新增字典
btn.dictEntry.create                = 新增明细
# label 页面标签 -------------------------------------------------------
# 共通
lbl.page.total                      = 共{0}页
lbl.page.goto                       = 到
lbl.code.name                       = 代码或名称
lbl.version.select                  = 版本选择
lbl.identity.card                  	= 身份证号
lbl.introduction                    = 说明
lbl.address.tips                = 点击选择详细信息
lbl.type                            = 类型
lbl.description                    = 描述
lbl.code                            = 代码
lbl.designation                     = 名称
lbl.marriage.status                 = 婚姻状况
lbl.real.name                       = 真实姓名
lbl.location                        = 位置
lbl.seqNo                           =序号
lbl.operation                       = 操作
lbl.name                            = 姓名
lbl.user.org                      = 所属机构
lbl.advanced                        = 高级
lbl.publicKey.info                  = 公钥信息
lbl.effective.date                  = 有效期限
lbl.create.date                     = 生成时间
lbl.selected                        =选择所有
# 登录模块
lbl.delete.message                  = 删除信息
lbl.user.input                      = 输入用户名/邮箱/手机号
lbl.user.noExist 			        = 没有帐号?
lbl.user.forget 		            = 立即注册
lbl.user.validation 		        = 用户验证
lbl.pwd.input                       = 输入密码:
lbl.pwd.register                    = 忘记密码?
lbl.pwd.change                      = 密码修改
lbl.pwd.retrieve.success            = 找回成功
lbl.pwd.new                         = 新的密码:
lbl.input.again                     = 再输一次:
lbl.verification.input              = 输入验证码
lbl.verification.in                 = 输入验证:
lbl.verification.invisibility       = 看不清
lbl.verification.change             = 换一张
lbl.dict.tip.name.input             = 请输入名称或简拼
lbl.welcome.login                   = 欢迎登入
lbl.last.login                      = 最近登入
# 用户管理
lbl.user.org.input                  = 姓名或所属机构
lbl.activate                        =是否激活
lbl.invalid                        = 是否失效
lbl.last.login.date                =上次登录时间
lbl.specialized                     = 专业
lbl.user.tel                        = 用户手机
lbl.login.code                      =账号
lbl.user.sex                        = 用户性别
lbl.user.mail                       = 用户邮箱
lbl.user.telephone                  =用户手机
lbl.user.role                       = 用户角色
lbl.org.belong                      = 所属机构
lbl.specialized.belong              = 所属专业
lbl.mail.open                       = 邮箱解绑
lbl.mail.input                      = 输入新邮箱
# 机构管理
lbl.code.org.input              =代码或机构名称
lbl.join.mode                       = 入驻方式
lbl.org.code                        = 组织机构代码
lbl.org.fullName                    = 机构全名
lbl.org.shortName                   = 机构简称
lbl.local                           =位置
lbl.join.mode.tips                 = 入驻方式
lbl.org.tel                         =联系电话
lbl.org.type                        = 机构类型
lbl.tip                             = 标签
lbl.paste                           = 贴上
lbl.addr.province                   = 省/自治区/直辖市
lbl.addr.city                       = 市/自治州/自治县
lbl.addr.town                       = 区/县
lbl.addr.detail                     = 镇/街道/门牌号
# 病人管理
lbl.name.idCard.input           = 姓名或身份证
lbl.patient.tel                     = 病人手机
lbl.patient.sex                     = 病人性别
lbl.patient.nation                  = 病人民族
lbl.patient.native.place            = 病人籍贯
lbl.birthdate                       = 出生日期
lbl.home.address                   = 家庭地址
lbl.census.register.address         = 户籍地址
lbl.work.address                    = 工作地址
lbl.census.register.type          = 户籍性质
lbl.patient.mail                    = 病人邮箱
# 应用管理
lbl.internal.code.name             =内码或者名称
lbl.app.id                          = APP ID
lbl.app.secret                      = APP Secret
lbl.callback.URL                    = 回调URL
lbl.audit                           = 审核
lbl.pass                            = 通过
lbl.reject                          = 否决
lbl.forbidden                       = 禁用
lbl.open                            = 开启
lbl.nothing                         = 无
lbl.qualification.search            = 查看资质
lbl.option.tags                         =标签选择
lbl.internal.code                      =内码
lbl.secret.key                            =密钥
lbl.status                          = 状态
# 系统字典管理
lbl.dict.name                       = 字典名称
lbl.dict.detail                     = 字典详情
lbl.encoding                        = 编码
lbl.content                         = 内容
lbl.subCatalog                      = 小分类
# 标准来源
lbl.std.source.detail            = 标准来源基本信息
lbl.source.type                     = 类别
# 标准字典管理
lbl.dict.base                       = 基础字典
lbl.std.source                      = 标准来源
lbl.version.ref                     = 参考版本
lbl.value                           = 值
#数据集
lbl.input.code.name         =请输入代码或名称
lbl.inside.serial                  =内部序号
lbl.inside.code                    =内部代码
lbl.metaData.encoding    =数据元编码
lbl.metaData.name           =数据元名称
lbl.dict                                   =字典
lbl.metaData.type              =数据元类型
lbl.verify.dict                       =检验字典
lbl.format                             =格式
lbl.definition                       =说明
lbl.field.name                      =字段名
lbl.field.length                    =字段长度
lbl.data.type                        =数据类型
lbl.whether.key                  =是否主键
lbl.whether.null                 =是否为空
<<<<<<< HEAD
#CDA
lbl.input.placehold                 = 请输入代码或者名称
lbl.input.schemapath                   = 概要路径
title.CDA.manage				     = CDA
btn.edit                            = 编辑
lbl.dataset                         = 数据集
lbl.selected_Item                   = 已选择项
lbl.cdaDocument.edit                        = CDA编辑
=======
>>>>>>> origin/master
# Message ------------------------------------------------------------------
msg.000001                          = 验证信息已发送至您的手机,请注意查收!
msg.000002                          = 没收到验证码信息,请在{0}秒后再次获取。
msg.000003                          = 确认删除该行信息?
msg.000004                          = 如果是请点击确认按钮,否则请点击取消。
msg.000005                          = 密码已修改成功!
msg.000009                          = 确定认领关联档案?
msg.000006                          = 确定要解除关联档案?
msg.000007                          = 确定解绑该卡信息?
msg.000008                          = 确定绑定该卡信息?
msg.000013                          = 确认失效该用户信息?
# Special -------------------------------------------------------------------
spe.star                            = *
spe.vertical                        = |
spe.colon                           = :
spe.less_than                       = >
spe.slash                           = /
spe.blank                           = ""
spe.null                            = null
# End -----------------------------------------------------------------------