`
y806839048
  • 浏览: 1107716 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

高并发,多子系统 配置化,任务入库定时处理设计思想

阅读更多

 

 

对任何子系统请求进行先入库,用同一格式保存(具体业务数据数据库用一个字段保存json串 1),然后定时任务去用反射执行/java工具类获取示例(3)(实现异步处理

 

结合gateWay思想:不同的参数查询配置表中对应配置的服务类,获取服务类对应的服务实例,调用不同的服务

结合高并发请求入库思想:所有请求同一格式保存入庫(请求业务类型,请求参数json保存一个字段中,请求号,请求状态。。。。),定时任务扫描:根据请求类型

查到配置表中对应是json转化实体类,查到对应的处理服务类,然后用参数对象传入服务对象正常调用

 

 任务发起后通过状态标志流转,有异常就改对应状态

 

1,json解析成Java类对象

SanxaingTYZDCrdtAplyRequest feideeLoanApplyRequest = JSONObject.parseObject(loanApplyRequest.getLoanInfo(),SanxaingTYZDCrdtAplyRequest.class);

 

2,获取名字对应的类-------------用于读取配置中的字符转化成类,由此类结合1解析json成类对象

 public Class getInsureCheckBean(InsureApplyRequest insureApplyRequest) {

        String bankType = insureApplyRequest.getBankType();

        String insureChannel = insureApplyRequest.getInsureChannel();

        BankConf bankConf = bankConfMapper.query(insureApplyRequest.getBankType(), insureApplyRequest.getInsureChannel());

        if (bankConf==null){

            LOGGER.error(CodeEnum.CODE_0027.getMsg() + ":" + bankType);

            return null;

        }

        String insureParamClass = bankConf.getInsureParamClass();

        if (insureParamClass==null){

            LOGGER.error("没有配置投保请求参数bean:{},{}", bankType, insureChannel);

            return null;

        }

        try {

            return Class.forName(insureParamClass);

        } catch (ClassNotFoundException e) {

            LOGGER.error("请检查银行类型["+bankType+","+insureChannel+"]的投保请求bean配置",e);

            return null;

        }

    }

 

 

 

3,获取数据中配置的字符串对应的实例----------处理多态,根据不同的参数获取具体的实现类对象。或某一对象   

 

 

结合gateWay思想:不同的参数查询配置表中对应配置的服务类,获取服务类对应的服务实例,调用不同的服务(实现服务配置化分流)

结合高并发请求入库思想:所有请求同一格式保存入庫(请求业务类型,请求参数json保存一个字段中,请求号,请求状态。。。。),定时任务扫描:根据请求类型

查到配置表中对应是json转化实体类,查到对应的处理服务类,然后用参数对象传入服务对象正常调用

 

应用:

AbstractFacadeExchange facadeInstance = facadeInstanceFactory.getFacadeInstance(request.getBankCode());

ApiResponse response = facadeInstance.send(facadeSendRequest);

 

 

FacadeInstanceFactory:

    public AbstractFacadeExchange getFacadeInstance(String bankType) {

        Map<String, String> facadeExchange = facadeInstanceConfig.getFacadeExchange();

        Set<String> strings = facadeExchange.keySet();

        for (String key : strings) {

            if (bankType != null && bankType.equals(key)) {

                String instanceName = facadeExchange.get(key);

                return (AbstractFacadeExchange) AppContextAware.getObject(instanceName);

            }

        }

        LOGGER.error(CodeEnum.CODE_0027.getMsg() + ":" + bankType);

        return null;

    }

 

 

@Service

public class AppContextAware implements ApplicationContextAware {

 

    private static ApplicationContext applicationContext;

 

    @Override

    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {

        this.applicationContext = applicationContext;

    }

 

    public static <T> T getObject(String id) {

        return (T)applicationContext.getBean(id);

    }

 

    public static ApplicationContext getApplicationContext() {

        return applicationContext;

    }

}

 

 

 

参看:

http://yuhuiblog69586958738152683856.iteye.com/admin/blogs/2428696

分享到:
评论

相关推荐

    多子阵高分辨海底地形探测算法及其FPGA和DSP阵列实现.pdf

    DSP擅长执行复杂的数学运算和算法实现,而FPGA则能够在硬件层面实现并行化处理,二者相互协作,共同完成大量数据的实时处理,有效提高了数据处理的速度和算法的实时性。 四、算法验证及应用前景 为了验证MSB-MUSIC...

    污水处理控制系统设计归纳.pdf

    污水处理控制系统设计是现代工业与环保领域中的重要环节,旨在通过自动化技术提高污水处理效率,降低运行成本,确保环境质量。本文将深入探讨孙琳同学在沈阳理工大学进行的课程设计——污水处理控制系统程序设计,...

    某学校智慧教育云平台(多子系统)建设方案规划书.pdf

    本文档是某学校智慧教育云平台(多子系统)建设方案规划书的知识点总结。该平台旨在构建一个智能化、数字化的教育云平台,以满足学校的教育需求。 系统建设背景 学校智慧教育云平台的建设背景是为了满足学校教育的...

    一种基于多子阵的数字波束形成技术及FPGA实现.pdf

    FPGA(现场可编程门阵列)是一种可以通过编程来实现硬件逻辑的半导体设备,它允许用户在硬件级别上进行定制化的功能设计。FPGA的并行处理能力和可重配置性非常适合用于实现数字波束形成技术。在FPGA平台上实现数字...

    小区智能化系统规划设计方案

    五、系统结构与子系统设计 智能小区系统结构是多子系统集成的综合体,包括但不限于: - 安全防范系统:包括视频监控、门禁、报警等子系统。 - 物业管理服务系统:涉及停车场管理、访客管理、社区服务等多个方面。 - ...

    智能电网站用交直流一体化电源系统简介.pdf

    智能电网站用交直流一体化电源系统是电力行业中一种先进的电源解决方案,旨在解决传统分散设计的站用电源系统...这种创新的电源系统设计方案代表了未来变电站技术发展的一个重要方向,有助于推动电力行业的现代化进程。

    学生成绩管理系统设计

    【学生成绩管理系统设计】 学生成绩管理系统是一个用于管理和处理教育机构中学生学业成绩的应用程序。这个系统的设计目的是为了让学生、教师和管理人员能够方便地进行成绩的录入、查询、维护和打印。通过学习和实现...

    中国某银行住房抵押贷款证券化业务系统方案.doc

    【住房抵押贷款证券化业务系统】是中国某银行为了推进金融创新,提高资产流动性,降低信贷风险而设计开发的专门系统。这一系统旨在为住房抵押贷款证券化提供全面的技术支持和基础保障,确保业务流程的顺利实施。 **...

    NC6多子表表头表体合计.docx

    综上所述,NC65支持的多子表开发及其合计功能的实现涉及到前端界面的XML配置和后端逻辑处理。开发者需要根据实际需求灵活配置XML文件,并正确设置相关的属性值,以确保合计功能正常工作。此外,对于模板中需要求和的...

    依赖多子群分层混合算法的云计算信息系统安全等级保护测评.pdf

    3. 多子群分层混合算法:多子群分层混合算法是一种设计用于云计算信息系统的安全等级保护测评方法。该算法结合了分布式配置和集中式云计算的优势,并与软硬件框架及感知检测集成。算法通过镜头聚焦模型和五个阶段的...

    F_OFDM通信系统的多子带可变滤波器设计

    这个是一篇关于OFDM最新的文章,是OFDM通信系统的多子带可变滤波器

    基于PLC的多子模块家居环境检测报警系统.pdf

    本文介绍了一种基于PLC(可编程逻辑控制器)的多子模块家居环境检测报警系统的设计与实现。系统旨在解决现有家居环境检测及远程报警产品的功能单一、检测独立性差及操作不便的问题。通过将系统划分为若干个具有独立...

    网络教学系统的分布式通信平台的设计与实现.pdf

    分布式系统设计涉及将应用划分为多个子系统,并在多个物理节点上运行,这些节点通过网络相互连接,共同协作完成任务。分布式系统的优势在于可通过分散处理负载来提高性能和可用性,同时增加系统的可扩展性和可靠性。...

    电信设备-DMT系统最优功率分配的多子信道并行比特位加载方法.zip

    最优功率分配的目标是在满足总功率限制的前提下,最大化系统整体的传输速率或最小化误码率。这通常通过优化算法来实现,如Waterfilling算法。Waterfilling算法按照子信道的SNR差异分配功率,将功率“倒入”SNR较高的...

    基于多子群竞争进化规划算法的光纤光栅设计方法

    本文提出了一种基于多子群竞争进化规划算法的光纤光栅设计方法,该方法通过分析光纤光栅的传输矩阵来设计光栅的结构参数,适用于设计用于滤波的均匀光纤布拉格(Bragg)光栅和用于色散补偿的啁啾光纤光栅。...

    vue运行多个子系统框架

    1,支持vue多个子系统 2,支持每个子系统打包 3,支持每个子系统运行 4,提供各种node脚本

    BK7350的MODBUS多子站通讯.zip

    本主题聚焦于倍福(Beckhoff)的BK7350模块如何实现MODBUS多子站通讯,这涉及到工业自动化系统中的网络配置和编程技术。 首先,BK7350模块是倍福公司推出的一款集成MODBUS功能的总线耦合器。它旨在为 EtherCAT ...

Global site tag (gtag.js) - Google Analytics