Celix是什么?能做什么?

news2025/1/22 18:02:20

半路突然看到了OSGI,又学习了一下,大概了解了架构的一些基础知识。

像MVC,MVP等其实就是分层架构,这类是最容易想到的。

然后其实我就没有接触,如微服务架构,微内核架构。

是什么?

Celix就是属于微内核架构,然后我们使用过程中实际就是在这个已经开发好的核心上开发自己的插件,核心已经做好了各个插件之间的通信,另外核心还负责插件的加载、删除

官网介绍:

简介 / Apache Celixhttps://celix.apache.org/docs/2.3.0/celix/documents/README.html

能做什么?

Celix是面向linux的,不能在window使用,作为linux的一个大型项目的框架相当合适。

而它适合什么项目呢?

项目有很多个组件,功能可以相对独立的区分开来,然后项目要大。

它开发的是系统级别的东西!

小项目使用它就杀鸡用牛刀了。

举个例子来说明它可以做到什么场景:

物流管理系统:

  1. 1.每一类的物品都可以封装出一个插件(模块),然后提供出他处理某一类物品的服务(在Celix就是提供给你C语言的函数指针,在C++就是抽象类);
  2. 2.Celix提供了Shell脚本式安装和删除模块的方法,也可以直接代码写死,或者使用配置文件来按照顺序启动不同的模块。
  3. 3.可以设置一些基础的通用的包装工序,订单粘贴工序作为基础插件!然后其他插件可以设置依赖,来使用其中提供的服务。
  4. 4.它还提供了webserver的官方基础模块,可以便捷地开发一个web订单流程插件,该插件可提供Web服务,然后可以调用该Celix框架下的其他插件提供的服务。

使用体验:

上手难度并不高,缺点是没有很多人使用,网上的资料比较少,只能看官方文档。

推荐使用C++进行开发,使用起来更加专业清晰!

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

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

相关文章

[附源码]java毕业设计校园网学生成绩查询系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Redis源码篇(6)——主从复制

主从复制 从服务器执行 SLAVEOF IP PORT 命令即可实现对主服务器的复制。 复制又分为完整同步和部分同步(2.8之后) 完整同步:与混合持久化过程类似,先以rdb的方式保存rdb文件然后发送给从服务器。再将期间的命令保存到复制缓存区…

[论文评析]基于人体姿态识别的立定跳远 动作智能评估系统

基于人体姿态识别的立定跳远 动作智能评估系统论文信息背景方法系统总体设计立定跳远动作智能评估系统标准动作库子系统动作采集子系统人体姿态动作评估子系统人体姿态评估模型立定跳远关键帧匹配姿态评估及对比总结论文信息 题目:基于人体姿态识别的立定跳远 动作…

AMBA:AXI/AHB/APB学习笔记

AMBA、AXI、AHB、APB学习笔记AMBA总线:各模块之间的连接AHB特性:组成部分:AXIAPBAMBA总线:各模块之间的连接 advanced microcontroller bus architecture高级微控制器总线架构 AHB Advanced High-performance Bus 高级高性能总…

微信小程序|搭建一个博客小程序

文章目录一、文章前言二、创建小程序三、功能开发(1)首页(2)领域页(3)博客详情页(4)个人中心页一、文章前言 此文主要通过小程序搭建一个博客系统,实现博客的一些基础功能…

AD环境下域用户的离线缓存登录

缓存登录主要是为了解决当公司域控制器发生故障联系不上DC或用户拿笔记本电脑回家不拔VPN的情况下,依然能够登录到系统,进行办公。如果用户登录的时候联系不到DC,那么就凭用户登录时输入的用户名和密码去缓存中校验,如果能联系上D…

如果在学习spring的时候没看过这份学习笔记+源码剖析,真的亏大了!

Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。包括在此基础上衍生的 Spring MVC、 Spring Boot 、Spring Cloud 等,在现在企业中的应用越来越广泛。因此对于 S…

YOLOv7移植经验分享

目录 一、背景 二、环境 2.1 服务器环境 2.2 SDK环境 2.3 docker环境 三、移植开发 3.1 模型迁移 3.2 算法迁移 四、部署 一、背景 YOLOv7在 5 FPS 到 160 FPS 范围内的速度和准确度都超过了所有已知的目标检测器,并且在 GPU V100 上 30 FPS 或更高的所有…

python基于OCR深度学习实现商品配料表识别

1、概述 当前人民和国家对食品安全十分重视,但商家为了保证食品长时间储存,味道鲜美,在食品中添加超量或对人有严重危害得食品添加剂,严重危害到人民的安全,我们以方便面为例,一包方便面最多可有25种食品添…

十年开发老手,深度解析企业用人标准为何越来越高?!

涛哥作为一个10多年的开发老手,经历过很多场面试,也面试过很多人,这么多年下来,切身体会到企业的用人标准越来越高,企业对开发工程师的要求也越来越"过分"。所以涛哥今天就借此机会,我们一起来分…

如何制定有效的项目计划,提高团队执行力

项目风险来源有很多,项目日程紧张,导致质量下降风险上升;甲方变更,管理者对变动控制不足;项目太大。 虽然从来不可能完全消除项目风险,但可以将危害减到最小。 一、确认项目计划 项目计划是一个项目启动…

SpringBoot读取properties中配置的List集合

实体类 Data NoArgsConstructor AllArgsConstructor Accessors(chain true) public class Person {private String name;private String age;private String content; } Component//将该类交由Spring管理 ConfigurationProperties(prefix "project") //自定义.pro…

【附源码】计算机毕业设计JAVA演唱会购票系统

【附源码】计算机毕业设计JAVA演唱会购票系统 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JAVA myba…

听我一句劝好吗?放下那些老掉牙的性能优化笔记吧!又不是没有新的,跟不上时代的学了也没法直接用呀!

性能概述 公司投入人力物力成本开发出的程序,如果出现程序瘫痪、界面停顿、抖动、响应迟缓等问题,会大大降低用户体验,损失大量用户。对于上述问题,都是需要性能调优来解决的问题。 程序性能主要表现在代码的执行速度、软件系统…

数据结构之快速排序(重点)

快速排序 算法所需 一个基准点 左边是比其小的数,右边是比其大的数 先使所指的元素作为基准元素low 用一个piviot存储49 然后进行比遍历操作 就是high向左移动(high–),到第一个比piviot小的元素进行一个data[low]data[high] 然后进行low,找…

基于最低水平面的三维装箱问题的启发式算法

⭐️ 前言 小编之前写过一篇博文:求解三维装箱问题的启发式深度优先搜索算法(python),详述了基于空间选择的三维装箱算法。本文考虑了一个事实:在某些情况下,我们在摆放物品时,总是优先选择较低的平面,基于…

LIN通讯

LIN通讯 一、LIN通讯的背景与意义 随着汽车电子的发展,汽车上的电子零件正在逐渐地增加。而电子零件的增加也导致更多的设备(传感器、执行器、电子控制器)需要加入汽车的局部网络,这些零件的增加还会带来配线的增加,…

java-springboot基于机器学习得心脏病预测系统 的设计与实现-计算机毕业设计

项目介绍 基于机器学习得心脏病预测系统通过对机器学习心脏病数据大数据分析统计系统的建设以实现机器学习心脏病数据分析统计功能。通过对心脏疾病变化市场的充分研究,结合自身技术储备情况,设计并开发了一套基于SpringBoot后台框架、Mybaits数据库映射…

web课程设计网页规划与设计---公司网站(5页 带下拉菜单)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 | HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&#…

动态规划算法学习二:最长公共子序列

文章目录前言一、问题描述二、DP实现1、最优子结构性质*****2、状态表示*****3、状态递归方程*****4、计算最优值*****5、代码实现:输出最长公共子序列6、代码实现:输出最优解前言 一、问题描述 列举X的所有子序列,然后检查它是否也是Y的子序…