下面提供了用于确认符合本项目的运行的环境信息。
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