JRT1.5发布演示

news2025/1/12 13:38:18

JRT1.5演示视频

这是一次思想的解放,这是一次自我的挑战,这是一次涅槃重生。信创、安可、Linux、麒麟、UOS、King、PGSQL、ARM、Java围绕在我周围。JRT在DotNetCore的基础上完成了重生。对我而言,它不仅仅是一套框架那么简单;它更是我的理想、我的事业、我的孩子。为了实现在Java上绽放DotNetCore架构的愿景,我倾注了所有的心血。

JRT挑战的是Spring的低效、MyBatis写SQL的原始性、开发环境的复杂性、级联查询的困境、多数据库支持的真实性、客户端的跨平台性,以及部署和维护的复杂性。JRT极大地降低了信创的难度,同时也大幅减少了成本消耗。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在Spring还在以G级别的内存要求的时候,JRTWeb已经和数据库、SVN、Rsync一起以700兆内存稳定的在云服务器上运行了,而且效率很高。
在这里插入图片描述

在别人还在琢磨Spring学习的时候JRT已经敲敲的完成linux桌面三件套测试
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

演示的仪器接口配置
在这里插入图片描述

演示的仪器接口后台代码

import JRT.Core.Dto.CmdDto;
import JRT.Core.Dto.OutValue;
import JRT.Core.Util.LogUtils;
import JRT.Core.Util.MakeCmdUtil;
import JRT.Core.Util.TimeParser;
import JRT.Model.Bussiness.Parameters;
import JRTBLLBase.BaseHttpHandlerNoSession;
import JRTBLLBase.Helper;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * 监听模式的仪器测试,监听实现CMD模式,返回符合CMD的数据监听即可按约定执行
 */
public class JRTMachineTest extends BaseHttpHandlerNoSession {
    /**
     * 记录已经上传的数据
     */
    private static HashMap<String, Boolean> hasUpData = new HashMap();

    /**
     * 保存仪器数据
     *
     * @param Param        参数
     * @param Session
     * @param Output
     * @return
     * @throws Exception
     */
    public String SaveData(Parameters Param, OutValue Session, OutValue Output) throws Exception {
        String mi=Param.P0;
        String data=Param.P1;
        String epis=Param.P2;
        String fileName=Param.P3;
        String DBColName=Param.P4;
        String index=Param.P5;
        mi=Param.P0;
        //先写Log测试
        LogUtils.WriteDebugLog("mi:" + mi + ",data:" + data + ",epis:" + epis + ",fileName:" + fileName + ",DBColName:" + DBColName);
        //返回的数据
        List<CmdDto> cmdList = new ArrayList<>();
        //MakeCmdUtil.AddGetImageCmd(cmdList, "998", "P2", "D:\\OUT\\2.bmp", "");
        //监听jpg等,取文件,配置了图片后缀就会把图路径用file~加全路径调用保存
        if(data.indexOf("file~")>-1)
        {
            String [] arr=data.split("~");
            String filePath=arr[1];
            File fi=new File(filePath);
            //取图
            MakeCmdUtil.AddGetImageCmd(cmdList, "998", fi.getName(), filePath, "");
            //删图
            MakeCmdUtil.AddRMCmd(cmdList,filePath);
        }
        //取PDF小图,PDF小图解析后调用的图片数据格式image~序号~图片全路径
        else if(data.indexOf("image~")>-1)
        {
            String [] arr=data.split("~");
            String fileIndex=arr[1];
            String filePath=arr[2];
            File fi=new File(filePath);
            //取图
            MakeCmdUtil.AddGetImageCmd(cmdList, "998", fileIndex, filePath, "");
            //删图
            MakeCmdUtil.AddRMCmd(cmdList,filePath);
        }
        //取PDF的大图,PDF页图解析后调用的图片数据格式page~序号~图片全路径
        else if(data.indexOf("page~")>-1)
        {
            String [] arr=data.split("~");
            String fileIndex=arr[1];
            String filePath=arr[2];
            File fi=new File(filePath);
            //取图
            MakeCmdUtil.AddGetImageCmd(cmdList, "998", "page"+fileIndex, filePath, "");
            //删图
            MakeCmdUtil.AddRMCmd(cmdList,filePath);
        }
        return Helper.Object2Json(cmdList);
    }

    /**
     * 得到文件服务地址供接口上传图片
     * @param Param
     * @param Session
     * @param Output
     * @return
     * @throws Exception
     */
    public String GetFileService(Parameters Param, OutValue Session, OutValue Output) throws Exception {
        String mi=Param.P0;
        //返回文件服务路径
        return "https://101.33.230.103:8081/jrtlis/FileService/^/zlzmach/" + TimeParser.GetNowDate();
    }

    /**
     * 保存文件到数据库
     * @param Param
     * @param Session
     * @param Output
     * @return
     * @throws Exception
     */
    public String SaveImage(Parameters Param, OutValue Session, OutValue Output) throws Exception {
        String mi=Param.P0;
        String epis=Param.P1;
        String ImageClass=Param.P2;
        String fileName=Param.P3;
        String FullName=Param.P4;
        //先写Log测试
        LogUtils.WriteDebugLog("mi:" + mi + ",epis:" + epis + ",ImageClass:" + ImageClass + ",fileName:" + fileName + ",FullName:" + FullName);
        return "";
    }

    /**
     * 查询要上传的指令
     * @param Param
     * @param Session
     * @param Output
     * @return
     * @throws Exception
     */
    public String QryUpdata(Parameters Param, OutValue Session, OutValue Output) throws Exception {
        String mi=Param.P0;
        //先写Log测试
        LogUtils.WriteDebugLog("mi:" + mi + ",调用上传查询");
        //返回的数据
        List<CmdDto> cmdList = new ArrayList<>();
        //读文本仪器
        if (mi.equals("1")) {
            if (!hasUpData.containsKey("0947809")) {
                MakeCmdUtil.AddTxtCmd(cmdList, "0947809", "D:\\OUT\\uptxt.dttmp", "这是JRT上传的文本串", "0", "");
                MakeCmdUtil.AddCPCmd(cmdList, "D:\\OUT\\uptxt.dttmp", "D:\\OUT\\uptxt.dt");
                MakeCmdUtil.AddRMCmd(cmdList, "D:\\OUT\\uptxt.dttmp");
            }
        }
        //读数据库仪器
        else if (mi.equals("2")) {
            if (!hasUpData.containsKey("0947810")) {
                MakeCmdUtil.AddSqlCmd(cmdList, "0947810", "insert into DBUpHistory(DataCode,KeyData,DateStr,Data) values('0947809','1','这是JRT用SQL插入的数据','1')");
            }
        }
        MakeCmdUtil.AddGetImageCmd(cmdList, "999", "P1", "D:\\OUT\\1.bmp", "");
        return Helper.Object2Json(cmdList);
    }

    /**
     * 设置上传指令执行状态
     * @param Param
     * @param Session
     * @param Output
     * @return
     * @throws Exception
     */
    public String SetQryStatus(Parameters Param, OutValue Session, OutValue Output) throws Exception {
        String mi=Param.P0;
        String setStatusKey=Param.P1;
        //先写Log测试
        LogUtils.WriteDebugLog("mi:" + mi + ",setStatusKey:" + setStatusKey + "设置状态");
        hasUpData.put(setStatusKey, true);
        return "";
    }
}

认认真真做产品、踏踏实实写代码、耐耐心心等风口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1618573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】InnoDB存储引擎实现事务的原理及MVCC-实现原理

redo log 实现了事务的持久性 如果没有redo log&#xff0c;可能出现脏页现象&#xff0c;导致从缓冲池中更改后加载到硬盘的过程中出现脏页&#xff0c;无法保证持久性。 redo log会记录内存结构中缓冲区中的增删改变化&#xff0c;即时出现脏页&#xff0c;redo log把变化加…

使用keil uv5打开工程显示Device not include in Legacy Device Database怎么解决?

使用keil uv5打开工程显示Device not include in Legacy Device Database怎么解决&#xff1f; 案例&#xff1a;我从gigadevice下载了GD32F303的开发资料&#xff0c;解压后想打开里面的案例。 然后提示 开始我想到的是支持库没有装&#xff0c;就下载了&#xff1a;GigaDe…

Kotlin语法入门-访问和属性修饰符(5)

Kotlin语法入门-访问和属性修饰符(5) 文章目录 Kotlin语法入门-访问和属性修饰符(5)五、访问和属性修饰符1、kotlin修饰符2、internal3、默认修饰符4、open关键字开启继承并实现 五、访问和属性修饰符 1、kotlin修饰符 kotlin在常见的访问修饰符private&#xff0c;protected…

为什么代码签名证书都是“硬证书”?如何选择代码签名证书?

代码签名证书是一种给软件应用程序数字签名的数字证书&#xff0c;它可以确保软件代码的完整性和来源的可信性。代码签名证书可以分为OV代码签名证书和EV代码签名证书&#xff0c;自OV代码签名证书也升级为“硬证书”之后&#xff0c;代码签名证书全部采用“硬证书”。那么&…

Linux--内核移植(二)移植流程及驱动修改

本文来总结一下如何将 NXP 官方提供的 Linux 内核移植到正点原子的 I.MX6U-ALPHA 开发板上。 一、官方开发板内核测试 NXP 提供的 Linux 源码肯定是可以在自己的 I.MX6ULL EVK 开发板上运行下去的&#xff0c;所以我们肯定是以 I.MX6ULL EVK 开发板为参考&#xff0…

信息打点--公众号服务

微信公众号 获取微信公众号的途径https://weixin.sogou.com/ 微信公众号没有第三方服务 Github监控 人员&域名&邮箱 eg&#xff1a;xxx.cn password in:file https://gitee.com/ https://github.com/ https://www.huzhan.com/ 资源搜索 in:name test 仓库标题搜索含有…

sklearn【AUC-ROC】原理,以及绘制ROC曲线!

一、AUC-ROC 介绍 在分类任务中&#xff0c;特别是当数据集中的类别分布不平衡时&#xff0c;评估模型的性能变得尤为重要。AUC-ROC&#xff08;Area Under the Receiver Operating Characteristic Curve&#xff0c;受试者工作特征曲线下的面积&#xff09;是一种有效的评估指…

fawawf

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

Flume的安装及使用

Flume的安装及使用 文章目录 Flume的安装及使用Flume的安装1、上传至虚拟机&#xff0c;并解压2、重命名目录&#xff0c;并配置环境变量3、查看flume版本4、测试flume5、flume的使用 Flume的安装 1、上传至虚拟机&#xff0c;并解压 tar -zxvf apache-flume-1.9.0-bin.tar.g…

Datawhale ChatGPT基础科普

根据课程GitHub - datawhalechina/hugging-llm: HuggingLLM, Hugging Future. 摘写自己不懂得一些地方&#xff0c;具体可以再到以上项目地址 LM&#xff1a;这是ChatGPT的基石的基石。 Transformer&#xff1a;这是ChatGPT的基石&#xff0c;准确来说它的一部分是基石。 G…

UDS诊断故障码DTC

在汽车的各种零部件ECU设计中&#xff0c;开发人员会罗列出他能想到的这些零部件可能发生的所有故障。并且会为每一个故障分配一个代码、代号或数字。这个分配的数据就是DTC&#xff0c;DTC就是每个故障码的身份证号。 五位故障码属于OBD诊断协议。 五位故障码实际上只占用2个…

如何启用启用WordPress调试模式

最近我们的WordPress网站在访问时&#xff0c;经常出现打不开的现象&#xff0c;我们向主机提供商Hostease咨询后&#xff0c;他们提到这是由于WordPress的某个插件导致的问题&#xff0c;我们在将插件版本升级至最新后&#xff0c;这个问题就消失了。为了方便后续的检查&#…

【SpringBoot】-MyBatis详解+单表操作

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【Framework】 主要内容&#xff1a;什么是MyBatis框架&#xff1f;MyBatis框架有什么用&#xff1f;MyBatis实现查询步骤详解。MyBatis实现单表的增删查改。MyBatis模糊查询&…

【智能算法】蜉蝣算法(MA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年&#xff0c;K Zervoudakis等人受到自然界蜉蝣交配繁殖行为启发&#xff0c;提出了蜉蝣算法&#xff08;Mayfly Algorithm, MA&#xff09;。 2.算法原理 2.1算法思想 MA灵感来自蜉蝣交配…

简化图卷积 笔记

1 Title Simplifying Graph Convolutional Networks&#xff08;Felix Wu、Tianyi Zhang、Amauri Holanda de、 Souza Jr、Christopher Fifty、Tao Yu、Kilian Q. Weinberger&#xff09;【ICML 2019】 2 Conclusion This paper proposes a simplified graph convolutional m…

《HCIP-openEuler实验指导手册》1.4 Apache MPM工作模式调整

MPM介绍 二、配置步骤 查看MPM当前工作模式 方法一&#xff1a; httpd -M | grep mpm方法二&#xff1a; 浏览器访问&#xff1a;http://IP:端口/server-status 方法三&#xff1a; cat /etc/httpd/conf.modules.d/00-mpm.conf查看 LoadModule mpm_event_module modules/mo…

嵌入式学习59-ARM8(中断,ADC,内核定时器和传感器)

什么是中断顶半部和底半部 &#xff1f; &#xff08;部分记忆&#xff09;背 上半部&#xff1a; …

探索亚马逊云科技「生成式 AI 精英速成计划」

目录 前言「生成式 AI 精英速成计划」技术开发课程学习课程学习 总结 前言 亚马逊云科技&#xff08;Amazon Web Services&#xff0c;简称AWS&#xff09;作为全球领先的云计算服务提供商&#xff0c;一直以来在推动人工智能&#xff08;AI&#xff09;领域的发展中扮演着重要…

鸿蒙OpenHarmony【小型系统运行案例】 (基于Hi3516开发板)

运行 启动系统 在完成Hi3516DV300的烧录后&#xff0c;还需要设置BootLoader引导程序&#xff0c;才能运行OpenHarmony系统。 在Hi3516DV300任务中&#xff0c;单击Configure bootloader&#xff08;Boot OS&#xff09;进行配置即可。 说明&#xff1a; DevEco Device Tool…

python爬虫之爬取微博评论(4)

一、获取单页评论 随机选取一个微博&#xff0c;例如下面这个 【#出操死亡女生家属... - 冷暖视频的微博 - 微博 (weibo.com) 1、fnf12&#xff0c;然后点击网络&#xff0c;搜索评论内容&#xff0c;然后预览&#xff0c;就可以查看到网页内容里面还有评论内容 2、编写代码…