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 
相关推荐
东方靖岚25 分钟前
R语言的数据库交互
开发语言·后端·golang
uhakadotcom2 小时前
Python 量化计算入门:基础库和实用案例
后端·算法·面试
小萌新上大分2 小时前
SpringCloudGateWay
java·开发语言·后端·springcloud·springgateway·cloudalibaba·gateway网关
uhakadotcom3 小时前
使用Python获取Google Trends数据:2025年详细指南
后端·面试·github
uhakadotcom3 小时前
使用 Python 与 Google Cloud Bigtable 进行交互
后端·面试·github
直视太阳3 小时前
springboot+easyexcel实现下载excels模板下拉选择
java·spring boot·后端
追逐时光者4 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 33 期(2025年4.1-4.6)
后端·.net
灼华十一4 小时前
Golang系列 - 内存对齐
开发语言·后端·golang
兰亭序咖啡4 小时前
学透Spring Boot — 009. Spring Boot的四种 Http 客户端
java·spring boot·后端
Asthenia04124 小时前
深入解析Pandas索引机制:离散选择与聚合选择的差异及常见误区
后端