当前位置: 首页 > 软件库 > 程序开发 > OSGi 框架 >

Apache Celix

OSGi 规范的 C/C++ 实现
授权协议 Apache
地区 不详
投 递 者 郤立果
软件类型 开源软件
开源组织 Apache
适用人群 未知
操作系统 跨平台
所属分类 程序开发、 OSGi 框架
 软件概览

Apache Celix 是一个使用 C 和 C++ 实现的 OSGi 规范的项目。提供了使用组件和面向服务编程来开发模块化应用的框架。

一个 C 版本的激活器示例:

//${WS}/myproject/bundles/hello_world/private/src/hello_world_activator.c
#include <stdlib.h>
#include <stdio.h>

#include "dm_activator.h"


struct userData {
        char * word;
};

celix_status_t dm_create(bundle_context_pt context, void **out) {
    celix_status_t status = CELIX_SUCCESS;
    struct userData* result = calloc(1, sizeof(*result));
    if (result != NULL) {
            result->word = "C World";
            *out = result;
    } else {
            status = CELIX_START_ERROR;
    }
    return status;
}

celix_status_t dm_init(void* userData, bundle_context_pt context, dm_dependency_manager_pt manager) {
    struct userData* data = (struct userData *) userData;
    printf("Hello %s\n", data->word);
    return CELIX_SUCCESS;
}

celix_status_t dm_destroy(void* userData, bundle_context_pt context, dm_dependency_manager_pt manager) {
    free(userData);
    return CELIX_SUCCESS;
}
  • [OSGI] Felix基本环境搭建及操作 : https://blog.csdn.net/hechaomax/article/details/42641643 Intellij Idea 15中开发Maven+osgi项目(Apache felix环境): https://blog.csdn.net/Primary_wind/article/details/51814237 开发一个真实的 OS

  • 是的,有一个,如 @L_502_1@所述(该指南相对于eclipse的昼夜平分点但无关紧要)使用 gogo shell,apache mina sshd服务器和三个 equinox console bundles(用于ssh身份验证的核心ssh插件jaas插件)的组合,您将能够连接到mina的ssh服务器,你的与OSGi相关的命令将由gogo shell执行. 你需要这些包: > GoGo She

  •  OSGi正在成为一种趋势,越来越多的项目采用了OSGi,越来越多的中间件都开始采取了OSGi的标准。身为一名Java开发人员,如果你还对OSGi结构一无所知,那你真的有点Out了。       什么是OSGi       OSGi的名称来源于其开源组织的名称Open Services Gateway initiative,OSGi是一个标准,它致力于提供给Java项目一个模块化的底层环境,以及一

  • 1、输入检测服务 Bundle 在下面的例子中,我们定义了一个名称为 SpellChecker 的服务,该服务将使用我们注册的所有字典服务来检测用户输入的单词是否正确,而且 SpellChecker 只有在至少有一个字典服务是有效的时候才能被使用,下面是 SpellChecker 接口的定义: /* * Apache Felix OSGi tutorial. **/

  • Apache Felix环境配备 http://www.reader8.cn/jiaocheng/20120909/1978008.html .简介Felix是Apache Foundation关于OSGi R4的一个实现。包括了OSGi框架和标准的服务,同时也提供并且支持其他的OSGi相关技术。Felix最终的目标是要提供和OSGi框架和标准服务完全兼容的一个实现。目前Felix已经实现了OSG

  • 我正在寻找一种方法来(重新)部署一个爆炸的捆绑包(意思是没有震动,但在文件夹中)从Eclipse内部运行Apache Felix OSGi容器,最好是使用启动任务 . 我找到了this问题,答案很接近,但这取决于在Gogo shell中输入命令,这对于长期开发使用来说不方便 . 我为此启动了任务机制,但如果有同样快速和方便的替代方案,我也对此持开放态度 . 现在我认为如果我可以从Eclipse启动

  • 引言 本文是本系列的第 1 部分,我们将开发包含客户端和服务器端组件的订单应用程序。然后将这些组件打包为 OSGi 包。客户端调用服务组件处理订单。服务组件具有处理订单和打印订单 ID 的方法。阅读本文后,您可以应用 Apache Felix 的概念和功能来将 Java 组件类构建和打包为 OSGi 包。 系统要求 要运行本文中的示例,请确保已在计算机上安装和设置了以下软件: Java 5 或更高

  • 1、首先在pom文件中引用 <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.event</artifactId> <version>1.3.1</version> <type>jar</type> </dependency> 2、在blueprint文件下引入Event服务,才可以将消息推送到Event里面

  • 1、Dictionary Service 的另外一个实现 下面的例子中我们编写了 DictionaryService 的另外一个实现,它可以检测输入的法语是否正确,但是如果仅仅是处于这个目的,则这个例子并没有什么实际的简直,我们真正的目的是向读者说明,OSGI 是允许一个服务的多个实现同时存在的,这个例子会在我们后面的 example5 中被使用到,具体实现和 example2 很相似,如下: /

  • 简述OSGI           首先我们要认识一下什么是OSGI,OSGI亦称Java动态模块,它的最大作用就是来帮助我们实现Java的模块化应用的。OSGI首先是一套规范,然后是一个容器,所以我们可以很容易地将其与JavaEE技术作对比,我们知道JavaEE的架构是分为一个容器和多个应用(即web项目)的,Tomcat、Jboss这些应用服务器就是容器,我们基于这个标准下编写的一些JSP和Se

  • Apache Felix Felix是一个OSGi版本4规范的Apache实现。 OSGi是一个基于Java的服务平台规范,其目标是被需要长时间运行、动态更新、对运行环境破坏最小化的系统所使用。有许多公司(包括Eclipse IDE,它是第一个采用OSGi技术的重要项目)已经使用OSGi去创建其微内核和插件架构,以允许在运行时刻获得好的模块化和动态组装特性。几个其他项目如Apache Direct

  • 1、Spell Checker Client Bundle 此例子和 Example6 很类似,不一样的是我们在这里使用了 SpellChecker 服务检测用户输入句子中的错误单词,并且使用 ServiceTracker 获取 SpellChecker 服务,具体代码如下: /* * Apache Felix OSGi tutorial. **/ package tutorial.examp

  • apache felix的简单使用 Felix,是Apache的一级项目,见: http://felix.apache.org/site/index.html Felix是OSGi R4服务平台的免费开源实现。由Oscar项目演变而来。当前版本:1.0.1。 下载压缩包: http://felix.apache.org/site/downloads.cgi 解压缩,安装完毕。命令行,进入解压缩的目

  • 我有一个围绕OSGi和iPOJO构建的项目,我正在尝试确定它是否仍然适用于JDK 11.它目前正在使用JDK 8.由于iPOJO(1.12.1)的最新版本是最新版本,所以看起来并不太乐观. 2014年发布.更新目标和maven编译器版本后,我遇到以下问题: [ERROR] Failed to execute goal org.apache.felix:maven-ipojo-plugin:1.12

  • This is an implementation of the HTTP Service Specification as described in chapter 102 of the OSGi Compendium. The goal is to provide a standard and simplified way to register servlets and resources

 相关资料
  • C++编程规范 C/C++编程规范 C/C++编程规范--北京软通动力信息技术有限公司 高质量C/C++编程规范指南 C语言编程规范--华为技术有限公司 Google C++ 编程规范 C++编程规范:101条规则、准则与最佳实践 PDF扫描版.pdf C++ 编程规范专栏

  • C.1 根源 JavaScript 作为一门编程语言,在语法上可谓是最为灵活的语言了。有人喜欢它的灵活,也有人讨厌它的混乱。无论它的灵活也好,混乱也罢,都离不开其诞生的历史。Brendan Eich 在 1995 年里花了 10 天设计出了这门语言,其后微软在 1996 年也发布了支持 JavaScript 浏览器 IE 3.0。网景公司为了保护自己,在 1996 年 11 越将 JavaScri

  • 本文向大家介绍C# 如何规范的写 DEBUG 输出,包括了C# 如何规范的写 DEBUG 输出的使用技巧和注意事项,需要的朋友参考一下 经常在代码中,需要使用 DEBUG 来输出一些奇怪的东西来进行测试。但是输出的窗口只有一个,如果有一个逗比在不停输出,那么就会让输出窗口看不到自己的内容。 于是逗比喜欢自己的测试代码,因为他需要不停看到输出窗口在说自己,但是正常的程序员是只看有用的东西,所以他就会

  • 因此问题是:C++标准中的所有注释和示例都是非规范性的吗?脚注呢?

  • 我了解批次归一化有助于更快的训练,将激活转向单位高斯分布,从而解决梯度消失问题。批次规范行为在训练(使用每个批次的平均值/var)和测试时间(使用训练阶段的最终运行平均值/var)中的应用不同。 另一方面,实例归一化作为对比度归一化,如本文所述https://arxiv.org/abs/1607.08022。作者提到,输出样式化的图像不应依赖于输入内容图像的对比度,因此实例规范化有助于实现。 但是

  • 本文向大家介绍C++调用C#的DLL实现方法,包括了C++调用C#的DLL实现方法的使用技巧和注意事项,需要的朋友参考一下 SwfDotNet是C#编写的,这是个特别好的读写Swf文件的库。本文讲述了在C++项目中,怎么让C++调用C#的DLL动态链接库文件。 具体的实现步骤如下: 一、创建C# DLL,需要指定应用类型为“类库”,代码: 二、C++客户程序,是个控制台应用,代码: 三、这里有几点

  • 本文向大家介绍C#范围和重复,包括了C#范围和重复的使用技巧和注意事项,需要的朋友参考一下 示例 的Range和Repeat静态方法Enumerable可用于生成简单序列。 范围 Enumerable.Range() 给出给定起始值和计数的整数序列。 .NET Fiddle上的实时演示 重复 Enumerable.Repeat() 在给定一个元素和所需重复次数的情况下,生成一系列重复元素。 .NE

  • 本文向大家介绍C ++中的范围加法II,包括了C ++中的范围加法II的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个m * n矩阵,称为M,并用全0进行了初始化,并且我们还进行了几次更新操作。现在,操作由2D数组表示,每个操作由具有两个正整数x和y的数组表示,这意味着对于范围0内的所有值i,M [i] [j]应加1- 1,所有值j都在0到b-1的范围内。我们必须在执行所有运算之后找到矩阵