当前位置: 首页 > news >正文

Solon2 开发之插件,三、插件体外扩展机制(E-Spi)

插件体外扩展机制,简称:E-Spi。用于解决 fatjar 模式部署时的扩展需求。比如:

  • 把一些“业务模块”做成插件包放到体外
  • 把数据源配置文件放到体外,方便后续修改

其中, .properties 或 .yml 文件都会做为扩展配置加载,.jar 文件会做为插件包加载。

1、特点说明

  • 所有插件包共享ClassLoader、AopContext、配置
  • 可以打包成一个独立的插件包(放在体外加载),也可以与主程序一起打包。“分”或“合”自由!
  • 更新体外插件包或配置文件后,需要重启主服务
  • E-Spi 是由内核直接提供的支持,不需要其它依赖

2、操作说明

  • 应用属性文件添加扩展目录配置

目录需要手动创建

#申明扩展目录为 demo_ext(没有时,不会异常)
solon.extend: "demo_ext"

也可以,目录自动创建。不同的场景可以不同选择

#申明扩展目录为 demo_ext(加!开头,表示自动创建)
solon.extend: "!demo_ext"
  • 文件放置关系

将一个应用的数据源配置放在扩展目录,以便后续修改,部署效果:

demo.jar
demo_ext/_db.properties

再将一个用户频道或者领域模块做为插件包,部署效果:

demo.jar
demo_ext/_db.properties
demo_ext/demo_user.jar
demo_ext/demo_order.jar 

3、插件包注意事项

  • 要么把插件包打成 fatjar
  • 要么把插件包的依赖打进主应用里,特别的是公共的依赖(推荐)

4、具体演示示例

demo2002-external_ext

相关文章:

Solon2 开发之插件,三、插件体外扩展机制(E-Spi)

插件体外扩展机制,简称:E-Spi。用于解决 fatjar 模式部署时的扩展需求。比如: 把一些“业务模块”做成插件包放到体外把数据源配置文件放到体外,方便后续修改 其中, .properties 或 .yml 文件都会做为扩展配置加载&a…...

数据结构与算法(Java版) | 数据结构与算法的关系

从这一节起,咱们就要开始进入到「第二章——数据结构与算法的介绍」的学习中了,总的来说,第二章要讲解的内容其实也不是特别的多,内容也多偏理论,相信大家学起来是会比较轻松愉快的。 接下来,就请大家跟随…...

华科万维C++章节练习3_7

题目: 编程实现两种温度体系华氏温度和摄氏温度的相互转换; 以F作为华氏温度体系的单位,以C作为摄氏温度体系的单位。 要求当输入以F作为单位的温度值时(温度值范围[-500F~500F], 否则提示“数据输入有误!”)将其转换为对应的摄氏…...

CHAPTER 5 Jenkins SonarQube

Jenkins & SonarQube5.1 安装SonarQube1. 下载镜像2. 导出到其他服务器3. 准备工作4. docker-compose文件5. 启动容器5.2 登录SonarQube1.登录2. 安装中文语言插件3. 安装其他插件5.3 部署扫描器sonar-scanner1. 部署sonar-scanner2. 新建项目3. 扫描代码4. 查看报告5.4 Je…...

[AAAI 2023] Oral : Zero-shot 零样本/ Few-shot 少样本收录论文集合

零样本 (7篇): CALIP: Zero-Shot Enhancement of CLIP with Parameter-free AttentionGuo Ziyu; Zhang Renrui; Qiu Longtian; ma Xianzheng; Miao Xupeng; He Xuming; Cui BinMaximum Entropy Population-Based Training for Zero-Shot Human-AI CoordinationZhao …...

驱动开发 2.13

设备树 设备树就是一种描述硬件信息的树形结构,设备树上有很多设备节点,每一个设备节点都描述了一个硬件设备信息,设备节点中也可以再包含子设备节点和设备属性,同一个节点的不同属性是以链表结构存储,设备树有.dts设…...

【数据库】sql函数和多表关联查询

目录 一,SQL函数 1,聚合函数 1, count函数 2, AVG函数 3, SUM函数 4, MAX函数 5, MIN函数 6,数据分组——GROUP BY 7,限定组的结果,HAVING 8&#x…...

6-周赛332总结

6-周赛332总结 过了Q1和Q2,Q2知道用二分但是边界处理的不是很好,迷迷糊糊过的(手动再移动了下返回值…) Q3知道将子字符串的值取出来,将最短位置放在哈希表中,然后异或在哈希表中找值。但是我这个猪头脑袋…...

嵌入式Qt 开发一个音乐播放器

上篇文章:RK3568源码编译与交叉编译环境搭建,进行了OK3568开发板软件开发环境搭建,通过编译RK3568的源码,可以得到Qt开发的交叉编译相关工具。 本篇,就来在搭建好的软件开发中,进行Qt软件的开发测试。由于…...

2023秋招万得集团AI算法岗面经分享

本专栏分享 计算机小伙伴秋招春招找工作的面试经验和面试的详情知识点 专栏首页:秋招算法类面经分享 主要分享计算机算法类在面试互联网公司时候一些真实的经验 2022年 11.22下午AI算法岗面试 (1)一面35min 1、自我介绍 2、科研:长文本MRC...

RoI Transformer论文翻译详解

Learning RoI Transformer for Oriented Object Detection in Aerial Images 0.摘要 航空图像中的目标检测是计算机视觉中一个活跃而又具有挑战性的任务,因为它具有鸟瞰视角、高度复杂的背景和变化的物体外观。特别是在航空图像中检测密集的目标时,基于…...

Prometheus 自动发现监控AWS EC2实例

本文章简述对接自动发现AWS云EC2实例 前提环境: PromethuesGrafanaAWS IAM权限 涉及参考文档: AWS EC2Grafana 通用监控模板 一、IAM 用户创建 1、创建Prometheus 策略 策略规则: {"Version": "2012-10-17",&quo…...

从recat源码角度看setState流程

setState setState() 将对组件 state 的更改排入队列批量推迟更新,并通知 React 需要使用更新后的 state 重新渲染此组件及其子组件。其实setState实际上不是异步,只是代码执行顺序不同,有了异步的感觉。 使用方法 setState(stateChange | u…...

【Java|golang】1234. 替换子串得到平衡字符串---双指针

有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符,且长度为 n 的字符串。 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」。 给你一个这样的字符串 s,请通过「替换一个子串」的方式,…...

自监督表征学习方法——BYOL(Bootstrap Your Own Latent)

自监督表征学习方法——BYOL(Bootstrap Your Own Latent) 参考文献:《Bootstrap Your Own Latent A New Approach to Self-Supervised Learning》 1.前言背景 学习良好的图像表示是计算机视觉中的一个关键挑战,因为它允许对下游任务进行有效的训练。许…...

均衡负载集群(LBC)-1

均衡负载集群(LBC) 客户–>通过Internet—>负载调度器—>n台真实服务器 负载调度器: 软件:LVS;Nginx;Haproxy硬件:F5; LVS架构: 使用到C/S(B/S…...

WebSocket

关于WebSocket: WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。 WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话…...

GA-PEG-GA,Glutaric Acid-PEG-Glutaric Acid,戊二酸-聚乙二醇-戊二酸供应

英文名称:Glutaric Acid-PEG-Glutaric Acid,GA-PEG-GA 中文名称:戊二酸-聚乙二醇-戊二酸 GA-PEG-GA是一种线性双功能PEG羧酸试剂。PEG和羧基COOH之间存在C4酯键。PEG羧酸可用于与氨基反应,与NHS和DCC、EDC等肽偶联试剂反应。 P…...

使用sqlmap + burpsuite sql工具注入拿flag

使用sqlmap burpsuite sql工具注入拿flag 记录一下自己重新开始学习web安全之路③。 目标网站:http://mashang.eicp.vip:1651/7WOY59OBj74nTwKzs3aftsh1MDELK2cG/ 首先判断网站是否存在SQL注入漏洞 1.找交互点 发现只有url这一个交互点,搜索框和登录…...

替代AG9300|替代NCS8823|CS5260 Type-C转VGA视频转换方案

替代AG9300|替代NCS8823|CS5260 Type-C转VGA视频转换方案 CS5260是一款是一款实现USB TYPE-C到VGA视频转换的单片机解决方案转换器。CS5260支持USB Type-C显示端口交替模式,CS5260可以将视频和音频流从USB Type-C接口传输到VGA端口。在CS5260芯片中,显示…...

乐鑫特权隔离机制的 OTA 固件升级

固件空中升级 (OTA, Over-The-Air) 是任何联网设备的重要功能之一,支持开发人员通过远程更新固件,以发布新功能或修复错误。乐鑫特权隔离框架中包含两类应用程序:受保护的应用程序 (protected_app) 和用户应用程序 (user_app) ,这…...

C++数据结构 —— 二叉搜索树

目录 1.二叉搜索树的基本概念 1.1二叉搜索树的基本特征 2.二叉搜索树的实现 2.1数据的插入(迭代实现) 2.2数据的搜索(迭代实现) 2.3中序遍历(递归实现) 2.4数据的删除(迭代实现) 2.5数据的搜索(递归实现) 2.6数据的插入(递归实现) 2.7数据的删除(递归实现) 2.8类的完…...

Maven面试题及答案

1、Maven有哪些优点和缺点 优点: 1、简化项目依赖管理 2、方便与持续集成工具(Jenkins)整合 3、有助于多模块项目开发,比如一个模块开发好后发布到仓库,依赖该模块时可以直接从远程仓库更新,不用自己手动去编译 4、有很多插件&am…...

WebRTC系列-Qos系列之接收放RTX处理

文章目录 1. RTX详解1.1 RTX包头解析1.2 RTX包中的OSN2. RTX在WebRTC中处理2.1 组包2.2 解包2.3 发送及接收处理流程2.3.1 发送流程2.3.2 rtx标记的设置流程2.3.3 解析流程2.3.4 RTX解包在上一篇 WebRTC系列-Qos系列之接收NACK文章中分析了接收到nack后解析的主要流程。在WebR…...

国内能否炒伦敦金,2023国际十大正规伦敦金交易平台排名

在目前的投资市场环境中,现货黄金是一种屡见不鲜的投资选择,它依靠国际化的投资环境,成为了世界范围内投资者的重要选择对象。进行现货黄金投资,人们除了要认识市场发展基本现状之外,更要做好基本面和技术面分析工作&a…...

react路由 - react-router-dom

react路由 现代的前端应用大多都是 SPA(单页应用程序),也就是只有一个 HTML 页面的应用程序。因为它的用户体验更好、对服务器的压力更小,所以更受欢迎。为了有效的使用单个页面来管理原来多页面的功能,前端路由应运而…...

01-RTOS

对于裸机而言,对于RTOS而言即:对于裸机,打游戏意味着不能回消息 回消息意味着不能打游戏对于RTOS 打游戏和裸机的切换只需要一个时间片节拍 1ms 从宏观来看 就是同时进行的两件事(但要在这两件事情的优先级一样的情况下&#xff0…...

信息安全管理

信息安全管理信息安全管理信息安全风险管理信息安全管理体系应急响应与灾难恢复应急响应概况信息系统灾难修复灾难恢复相关技术信息安全管理 管理概念:组织、协调、控制的活动,核心过程的管理控制 管理对象和组成:包括人员在内相关资产&…...

深度学习tips

1、datasets_make函数中最后全部转化为numpy形式 datanp.array(data)否则会出现问题,比如数据是103216,经过trainloader生成tensor后(batch_size为30),发现生成的数据为: data.shape #(10,) data[0].shape…...

2023-2-13 刷题情况

替换子串得到平衡字符串 题目描述 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符,且长度为 n 的字符串。 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」。 给你一个这样的字符串 s,请通过…...

重新安装wordpress/汕头网站建设推广

一、硬件材料 1*ESP32 NodeMcu开发板 1*SHT3X模块 1*BH1750模块 1*0.96寸OLED液晶显示模块 二、硬件接线图 CSDN 赤鱼科技...

西安市住房和城乡建设局门户网站/站长网站优化公司

实体类中包含对象属性从后台传回到前台表单,后台提示错误: at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:183) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsFiel…...

移动端网站/长沙好的seo外包公司

elk笔记24--用gohangout替代logstash消费日志介绍使用gohangout使用gohangout前后对比注意事项说明介绍 gohangout 是 childe 大佬使用 golang 模仿的 Logstash 开源项目。用于消费 Kafka 数据,处理后写入 ES、Clickhouse 等。 相对于elk 中官方提供的 logstash&am…...

在wordpress主页显示商品/广告投放平台都有哪些

在使用linux的过程中,难免会误删除一些文件,可是怎样找回呢?下面介绍一下ext3文件系统的数据恢复:系统环境:Red Hat Enterprise Linux Server release 5 需要软件:e2fsprogsext3grep测试:e2fspr…...

广告专业的前景和就业方向/seo的作用有哪些

中国人是可以做开源的,因为中国人并不比谁笨!也没有谁限制中国人不许做开源!实事求是讲,中国人搞开源可以节省大量美元,是从实际出发,就好像国际石油 老涨价,太贵了,就会有人去发明煤…...

java产品展示网站源码/seo搜索引擎专员

如下所示: import matplotlib.pyplot as plt plt.plot([1,2,3],[4,5,6],ro) plt.show()#这个智障的编辑器,,,看来高版本的确修复了一些bug 用python3的qt5出来的图形,效果很好:而且在上面的图像中也可以用调…...