Skip to content

Commit 9e1a460

Browse files
zqr10159lynx009
andauthored
refactor: update to Springboot4 and Hibernate 7 (#4057)
Co-authored-by: lynx009 <2030509072@qq.com>
1 parent 00b83ff commit 9e1a460

166 files changed

Lines changed: 1340 additions & 8606 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitpod.Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ FROM gitpod/workspace-full
33
USER gitpod
44

55
RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh && \
6-
sdk install java 17.0.3-ms && \
7-
sdk default java 17.0.3-ms"
6+
sdk install java 21.0.2-tem && \
7+
sdk default java 21.0.2-tem"

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Even small corrections to typos are very welcome :)
3232

3333
#### Backend start
3434

35-
1. Requires `maven3+`, `java17` and `lombok` environments
35+
1. Requires `maven3+`, `java21` and `lombok` environments
3636

3737
2. (Optional) Modify the configuration file: `hertzbeat-startup/src/main/resources/application.yml`
3838

@@ -172,7 +172,7 @@ Add WeChat account `ahertzbeat` to pull you into the WeChat group.
172172
173173
#### 后端启动
174174
175-
1. 需要 `maven3+`, `java17` 和 `lombok` 环境
175+
1. 需要 `maven3+`, `java21` 和 `lombok` 环境
176176
177177
2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml`
178178

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Detailed config refer to [Install HertzBeat via Package](https://hertzbeat.apach
156156
##### 3:Start via source code
157157

158158
1. Local source code debugging needs to start the back-end project `hertzbeat-startup` and the front-end project `web-app`.
159-
2. Backend:need `maven3+`, `java17`, `lombok`, add VM options in IDE: ` --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED `, then start the `hertzbeat-startup` service.
159+
2. Backend:need `maven3+`, `java21`, `lombok`, add VM options in IDE: ` --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED `, then start the `hertzbeat-startup` service.
160160
3. Web:need `nodejs npm angular-cli` environment, Run `ng serve --open` in `web-app` directory after backend startup.
161161
4. Access `http://localhost:4200` to start, default account: `admin/hertzbeat`
162162

README_CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@
153153
##### 方式三:本地代码启动
154154

155155
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程 `hertzbeat-startup` 和前端工程 `web-app`
156-
2. 后端:需要 `maven3+`, `java17` 和 `lombok` 环境,修改 `YML` 配置信息,添加JVM参数`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`后启动 `hertzbeat-startup` 服务即可。
156+
2. 后端:需要 `maven3+`, `java21` 和 `lombok` 环境,修改 `YML` 配置信息,添加JVM参数`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`后启动 `hertzbeat-startup` 服务即可。
157157
3. 前端:需要 `nodejs npm angular-cli`环境,待本地后端启动后,在 `web-app` 目录下启动 `ng serve --open`
158158
4. 浏览器访问 `http://localhost:4200` 即可开始,默认账号密码 `admin/hertzbeat`
159159

README_JP.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<p align="center">
88
<b>Readme</b>:
99
<a href="README.md">English</a> | <a href="README_CN.md">中文</a> | <b><a href="README_JP.md">日本語</a></b>
10-
</p>
10+
</p>
1111

1212
[![Discord](https://img.shields.io/badge/Chat-Discord-7289DA?logo=discord)](https://discord.gg/Fb6M73htGr)
1313
[![Reddit](https://img.shields.io/badge/Reddit-Community-7289DA?logo=reddit)](https://www.reddit.com/r/hertzbeat/)
@@ -20,13 +20,13 @@
2020
[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod&color=green)](https://gitpod.io/#https://github.com/apache/hertzbeat)
2121

2222

23-
**公式サイト: [hertzbeat.apache.org](https://hertzbeat.apache.org)**
23+
**公式サイト: [hertzbeat.apache.org](https://hertzbeat.apache.org)**
2424
**メール:** メーリングリストに登録するために、<a href="mailto:dev-subscribe@hertzbeat.apache.org">dev-subscribe@hertzbeat.apache.org</a>にメールを送ってください。
2525

2626

2727
## 🎡 <font color="green">紹介</font>
2828

29-
[Apache HertzBeat™](https://github.com/apache/hertzbeat) は AI 駆動の次世代オープンソースリアルタイム観測システムです。メトリクスとログの統一収集、アラートの一元配信、インテリジェント管理分析。エージェント不要、高性能クラスタ、強力なカスタム監視とステータスページ構築機能を提供します。
29+
[Apache HertzBeat™](https://github.com/apache/hertzbeat) は AI 駆動の次世代オープンソースリアルタイム観測システムです。メトリクスとログの統一収集、アラートの一元配信、インテリジェント管理分析。エージェント不要、高性能クラスタ、強力なカスタム監視とステータスページ構築機能を提供します。
3030

3131
### 特性
3232

@@ -39,19 +39,19 @@
3939
- 高性能で、コレクタークラスタの水平拡張、マルチ分離ネットワーク監視、クラウドエッジ協調をサポート。
4040
- 強力なステータスページ構築機能を提供し、サービスのリアルタイムステータスをユーザーに簡単に伝達。
4141

42-
> `HertzBeat`の統一プラットフォーム、AI インテリジェンス、強力なカスタマイズ、多種類サポート、高性能、容易な拡張性は、ユーザーが迅速かつ便利に観測要件を実現することを支援することを目的としています。
42+
> `HertzBeat`の統一プラットフォーム、AI インテリジェンス、強力なカスタマイズ、多種類サポート、高性能、容易な拡張性は、ユーザーが迅速かつ便利に観測要件を実現することを支援することを目的としています。
4343
4444
----
4545

4646
----
4747

48-
## 🥐 モジュール
48+
## 🥐 モジュール
4949

50-
![hertzBeat](home/static/img/docs/hertzbeat-arch.png)
50+
![hertzBeat](home/static/img/docs/hertzbeat-arch.png)
5151

52-
## ⛄ 利用可能
52+
## ⛄ 利用可能
5353

54-
> `mysql``Java仮想マシン``k8s` などのすべての監視コレクション タイプを `YML` 監視テンプレートとして定義し、ユーザーがそれらをインポートして対応するタイプの監視をサポートできるようにしています。
54+
> `mysql``Java仮想マシン``k8s` などのすべての監視コレクション タイプを `YML` 監視テンプレートとして定義し、ユーザーがそれらをインポートして対応するタイプの監視をサポートできるようにしています。
5555
> カスタマイズされた一般的なモニターのテンプレートを提供することを歓迎します。
5656
5757
- [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
@@ -93,7 +93,7 @@
9393
- その他、カスタマイズされたモニターテンプレート。
9494
- 通知利用可能 `Discord` `Slack` `Telegram` `Email` `Dingtalk` `WeChat` `FeiShu` `Webhook` `SMS` `ServerChan`
9595

96-
## 🐕 クイックスタート
96+
## 🐕 クイックスタート
9797

9898
- HertzBeat をローカルに展開する場合は、以下のデプロイメントドキュメントを参照してください。
9999

@@ -102,7 +102,7 @@
102102
103103
##### 方式1:Docker
104104

105-
1. `docker` で以下の指令を実行します:
105+
1. `docker` で以下の指令を実行します:
106106

107107
```shell
108108
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
@@ -156,7 +156,7 @@
156156
##### 方式3:ローカルの実行
157157

158158
1. ローカルの実行には、バックエンドのプロジェクト`hertzbeat-startup`とフロントエンドのプロジェクト`web-app`を起動する必要があります。
159-
2. バックエンド:`maven3+`、`java17`と`lombok`の環境は必要です。`YML` 設定を修正し、Java仮想マシンパラメータに`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED` を追加し、`hertzbeat-startup` を起動します。
159+
2. バックエンド:`maven3+`、`Java21`と`lombok`の環境は必要です。`YML` 設定を修正し、Java仮想マシンパラメータに`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED` を追加し、`hertzbeat-startup` を起動します。
160160
3. フロントエンド:`nodejs npm angular-cli`の環境は必要です。ローカルのバックエンドが立ち上がったら、`web-app` ディレクトリで `ng serve --open` というコマンドを実行します。
161161
4. スタート:`http://localhost:4200`にアクセスします。デフォルトのアカウントとパスワード:`admin/hertzbeat`。
162162

@@ -166,7 +166,7 @@
166166

167167
[Docker-Compose 部署脚本](script/docker-compose)でpostgresql/mysqlデータベース、victoria-metrics、iotdb、またはtdengine時系列データベースとHertzbeat一括デプロイ。
168168

169-
詳細ステップ [通过 Docker-Compose 安装 HertzBeat](script/docker-compose/README.md)
169+
詳細ステップ [通过 Docker-Compose 安装 HertzBeat](script/docker-compose/README.md)
170170

171171
##### 方式5:Kubernetes Helm Charts
172172

@@ -178,8 +178,8 @@ Helm ChartでHertzBeatクラスタコンポーネントをKubernetesクラスタ
178178

179179
## ✨ Contributors
180180

181-
Thanks these wonderful people, welcome to join us:
182-
[貢献ガイド](CONTRIBUTING.md)
181+
Thanks these wonderful people, welcome to join us:
182+
[貢献ガイド](CONTRIBUTING.md)
183183

184184
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
185185
<!-- prettier-ignore-start -->
@@ -557,7 +557,7 @@ Thanks these wonderful people, welcome to join us:
557557
<!-- markdownlint-restore -->
558558
<!-- prettier-ignore-end -->
559559

560-
<!-- ALL-CONTRIBUTORS-LIST:END -->
560+
<!-- ALL-CONTRIBUTORS-LIST:END -->
561561

562562
## 💬 コミュニティ交流
563563

hertzbeat-ai/pom.xml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<version>${hertzbeat.version}</version>
2828
<properties>
2929
<spring-ai.version>1.1.1</spring-ai.version>
30-
<java.version>17</java.version>
30+
<java.version>21</java.version>
3131
</properties>
3232

3333
<dependencies>
@@ -78,10 +78,7 @@
7878
<groupId>com.usthe.sureness</groupId>
7979
<artifactId>spring-boot3-starter-sureness</artifactId>
8080
</dependency>
81-
<dependency>
82-
<groupId>com.fasterxml.jackson.dataformat</groupId>
83-
<artifactId>jackson-dataformat-yaml</artifactId>
84-
</dependency>
81+
8582
</dependencies>
8683
<dependencyManagement>
8784
<dependencies>

hertzbeat-ai/src/main/java/org/apache/hertzbeat/ai/controller/ChatController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import org.springframework.web.bind.annotation.RestController;
4242
import reactor.core.publisher.Flux;
4343

44-
import javax.validation.Valid;
44+
import jakarta.validation.Valid;
4545
import java.util.List;
4646

4747
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;

hertzbeat-ai/src/main/java/org/apache/hertzbeat/ai/sop/registry/SkillRegistry.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.springframework.context.annotation.Configuration;
2727
import org.springframework.stereotype.Service;
2828

29-
import javax.annotation.PostConstruct;
29+
import jakarta.annotation.PostConstruct;
3030
import java.util.ArrayList;
3131
import java.util.List;
3232
import java.util.Map;
@@ -92,12 +92,12 @@ public List<SopDefinition> getAllSkills() {
9292
@Override
9393
public ToolCallback[] getToolCallbacks() {
9494
List<ToolCallback> callbacks = new ArrayList<>();
95-
95+
9696
for (SopDefinition skill : skillMap.values()) {
9797
log.debug("Registering SOP as tool: {}", skill.getName());
9898
callbacks.add(new SopToolCallback(skill, sopEngine));
9999
}
100-
100+
101101
return callbacks.toArray(new ToolCallback[0]);
102102
}
103103
}

hertzbeat-ai/src/main/java/org/apache/hertzbeat/ai/sop/registry/SopYamlLoader.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717

1818
package org.apache.hertzbeat.ai.sop.registry;
1919

20-
import com.fasterxml.jackson.databind.ObjectMapper;
21-
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
20+
import tools.jackson.databind.ObjectMapper;
2221
import lombok.extern.slf4j.Slf4j;
2322
import org.apache.hertzbeat.ai.sop.model.SopDefinition;
2423
import org.springframework.core.io.Resource;
@@ -28,6 +27,7 @@
2827
import java.io.IOException;
2928
import java.util.ArrayList;
3029
import java.util.List;
30+
import tools.jackson.dataformat.yaml.YAMLFactory;
3131

3232
/**
3333
* Loader for AI SOP definitions from YAML files.
@@ -50,11 +50,11 @@ public SopYamlLoader() {
5050
public List<SopDefinition> loadAllSkills() {
5151
List<SopDefinition> skills = new ArrayList<>();
5252
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
53-
53+
5454
try {
5555
Resource[] resources = resolver.getResources(SKILLS_PATH_PATTERN);
5656
log.info("Found {} SOP definition files", resources.length);
57-
57+
5858
for (Resource resource : resources) {
5959
try {
6060
SopDefinition definition = yamlMapper.readValue(resource.getInputStream(), SopDefinition.class);
@@ -69,7 +69,7 @@ public List<SopDefinition> loadAllSkills() {
6969
} catch (IOException e) {
7070
log.error("Failed to scan for SOP definition files: {}", e.getMessage());
7171
}
72-
72+
7373
return skills;
7474
}
7575
}

0 commit comments

Comments
 (0)