Eclipse 数据空间组件-EDCSample 操作样例 basic基础功能介绍

下面提供了用于确认符合本项目的运行的环境信息。

ini 复制代码
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=22.04 
DISTRIB_CODENAME=jammy 
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

$ java -version 
openjdk version "17.0.12" 2024-07-16 
OpenJDK 运行环境(build 17.0.12+7-Ubuntu-1ubuntu222.04)
OpenJDK 64 位服务器 VM(build 17.0.12+7-Ubuntu-1ubuntu222.04,混合模式,共享)

自述

EDC/Samples/README 描述了目的、要求(准备)和范围。

该项目的目的是协助入职。样本的排列顺序方便初学者浏览,让您逐步学习。

环境准备

在这个项目中,解释将基于这样的假设:您已经熟悉 Eclipse Dataspace Component 中使用的术语。因此, 建议阅读EDC/文档。EDC/YT视频也是有用的参考。

还建议您熟悉 Git、Gradle、Java 和 HTTP 等相关工具。

为了检查操作,必须安装 Java 11+。

作用域

样本被分为称为"范围"的组。这取决于你想学什么。就目前而言,它basic对于初学者来说还不错。

下面作一简单解释。

范围名称 解释
basic 开始使用 EDC 框架的基础知识。设置、启动和创建扩展
transfer 数据传输
advanced 高级示例

basic 介绍

以下示例包含在EDC/Samples/Basic/README中。

样品名称 解释
basic-01-basic-connector 如何启动连接器
basic-02-health-endpoint 如何创建和使用扩展功能
basic-03-configuration 如何使用属性配置文件来管理配置值

basic/basic-01-basic-connector示例1、如何启动项目

EDC/Samples/Basic/Basic1/README对此的解释如下:

构建文件是build.gradle.kts`:

您可以通过查看build.gradle.kts文件,查看配置项

scss 复制代码
dependencies {
    implementation(libs.edc.boot)
    implementation(libs.edc.connector.core)
    implementation(libs.edc.http)
}

在samples目录下执行以下命令,编译并执行代码

bash 复制代码
./gradlew clean basic:basic-01-basic-connector:build 
java -jar basic/basic-01-basic-connector/build/libs/basic-connector.jar 

basic/basic-02-health-endpoint示例2 ,扩展代码功能

EDC/Samples/Basic/Basic2/README 对此的解释如下:

通过增加java类扩展功能, java文件功能

bash 复制代码
  1、org.eclipse.edc.extension.health.HealthApiController.checkHealth,创建helth路径;
  2、org.eclipse.edc.extension.health.HealthEndpointExtension注册HealthApiController类
  3、src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension  添加注册配置

通过查看build.gradle.kts文件,查看配置项

scss 复制代码
dependencies {
    implementation(libs.edc.boot)
    implementation(libs.edc.connector.core)
    implementation(libs.edc.http)
    implementation(libs.jakarta.rsApi)
}

在samples目录下执行以下命令,编译并执行代码

bash 复制代码
./gradlew clean basic:basic-02-health-endpoint:build
java -jar basic/basic-02-health-endpoint/build/libs/connector-health.jar

basic/basic-03-configuration示例3 扩展配置文件

以下解释可以在EDC/Samples/Basic/Basic3/README中找到。

通过查看build.gradle.kts文件,查看配置项

scss 复制代码
dependencies {
    implementation(libs.edc.boot)
    implementation(libs.edc.connector.core)
    implementation(libs.edc.http)
    implementation(libs.edc.configuration.filesystem) #重点
    implementation(libs.jakarta.rsApi)
}

添加9191端口

创建配置文件

bash 复制代码
sudo mkdir -p /etc/eclipse/EDC
sudo sh -c 'echo "web.http.port=9191" > /etc/eclipse/EDC/config.properties'

在samples目录下执行以下命令,编译并执行代码

bash 复制代码
./gradlew clean basic:basic-03-configuration:build  
java -Dedc.fs.config=/etc/eclipse/EDC/config.properties -jar basic/basic-03-configuration/build/libs/filesystem-config-connector.jar

启动时你应该看到如下日志:

ini 复制代码
INFO 2024 - 08 - 26 T16:16:38.946828558 HTTP 上下文"默认"监听端口9191  
DEBUG 2024 - 08 - 26 T16:16:38.986329567端口映射:{alias= 'default',port= 9191,path= '/api' }

对了,默认的配置文件可以参考java文件:configuration-filesystem-0.8.1-sources.jar!/org/eclipse/edc/configuration/filesystem/FsConfigurationExtension.java:67

ini 复制代码
var configLocation = propOrEnv(FS_CONFIG, "dataspaceconnector-configuration.properties"); 

添加日志功能,

java代码参考:org/eclipse/edc/extension/health/HealthEndpointExtension.java:22

配置文件参考添加配置项 edc.samples.basic.03.logprefix=MyLogPrefix 当访问http://localhsot:9191/health时,控制台上会出现以下日志。

less 复制代码
INFO 2024-08-26T16:25:55.233519477 health :: Received a health request 
相关推荐
fliter1 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
fliter2 小时前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪2 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter2 小时前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
森蓝情丶3 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
JensCS猿3 小时前
从 Spring Boot 回看 SSM 框架:手动挡与自动挡的驾驶哲学
后端
爱勇宝3 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员
科米米3 小时前
嵌入式日志模块
后端
血小溅3 小时前
三大 AI 编码框架深度对比:GSD vs OpenSpec vs Superpowers
人工智能·后端
ThanksGive4 小时前
层级时间轮看门狗
后端