zqr10159 opened a new pull request, #4066:
URL: https://github.com/apache/hertzbeat/pull/4066
This pull request introduces several important updates to improve platform
compatibility, documentation clarity, and internal code quality for the
HertzBeat project. The main highlights include the addition of a new GitHub
Actions workflow for building native collector packages across multiple
platforms, updates to documentation in English, Chinese, and Japanese to
reflect new package naming conventions and requirements, a move to Java 25 as
the minimum required version, and internal refactoring to support these changes.
**Platform support and build improvements:**
* Added a new GitHub Actions workflow
(`.github/workflows/collector-native-build.yml`) to automatically build and
upload native collector packages for Linux (amd64/arm64), macOS (amd64/arm64),
and Windows (amd64) using GraalVM JDK 25. This workflow streamlines
cross-platform distribution and artifact management.
**Documentation updates for clarity and accuracy:**
* Updated English (`README.md`), Chinese (`README_CN.md`), and Japanese
(`README_JP.md`) documentation to:
- Use new package naming conventions (e.g.,
`apache-hertzbeat-xx-bin.tar.gz` and
`apache-hertzbeat-collector-native-xx-linux-amd64-bin.tar.gz`).
- Explain the distinction between JVM and native collector packages,
including platform-specific startup instructions.
- Clarify that Java 25 is now required for backend and development.
[[1]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L133-R138)
[[2]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L151-R160)
[[3]](diffhunk://#diff-e6db595f1598cdd1968f25675bddebde43afe7e5a39e0aade96034d51c072ee7L130-R135)
[[4]](diffhunk://#diff-e6db595f1598cdd1968f25675bddebde43afe7e5a39e0aade96034d51c072ee7L148-R157)
[[5]](diffhunk://#diff-3629b3e65246c37e96658c8e152222668d9313279ba005aee3f37b2c2afeef25L111-R111)
[[6]](diffhunk://#diff-3629b3e65246c37e96658c8e152222668d9313279ba005aee3f37b2c2afeef25L129-R135)
[[7]](diffhunk://#diff-3629b3e65246c37e96658c8e152222668d9313279ba005aee3f37b2c2afeef25L151-R160)
[[8]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L35-R35)
[[9]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L175-R175)
**Dependency and configuration changes:**
* Updated `hertzbeat-ai/pom.xml` to require Java 25 instead of Java 21,
aligning the build and runtime requirements with the new documentation.
* Updated `hertzbeat-alerter/pom.xml` to add a dependency on
`hertzbeat-common-spring` with provided scope, supporting new concurrency
features.
**Internal code refactoring and enhancements:**
* Refactored `AlerterWorkerPool` to use the new `ManagedExecutor` and
`ManagedExecutors` abstractions, supporting both virtual and legacy thread
pools and per-channel concurrency limits, with improved configuration via
`VirtualThreadProperties`. Now implements `DisposableBean` for better lifecycle
management.
[[1]](diffhunk://#diff-6776f3dd31e7cf77986a217161fa71970497a6b92f2a0a1b4330ddcd1f644593R21-R60)
[[2]](diffhunk://#diff-6776f3dd31e7cf77986a217161fa71970497a6b92f2a0a1b4330ddcd1f644593L64-R106)
* Updated `MonitorToolsImpl` to use `ParamDefineInfo` instead of
`ParamDefine` for parameter definitions, improving type safety and clarity.
Also updated monitor validation to use explicit setter methods.
[[1]](diffhunk://#diff-5451290d1d367bac10cf0e97ef2354f79da16d8face54fd56b8c7a512bd6f072R24)
[[2]](diffhunk://#diff-5451290d1d367bac10cf0e97ef2354f79da16d8face54fd56b8c7a512bd6f072L35)
[[3]](diffhunk://#diff-5451290d1d367bac10cf0e97ef2354f79da16d8face54fd56b8c7a512bd6f072L283-R285)
[[4]](diffhunk://#diff-5451290d1d367bac10cf0e97ef2354f79da16d8face54fd56b8c7a512bd6f072L459-R461)
[[5]](diffhunk://#diff-5451290d1d367bac10cf0e97ef2354f79da16d8face54fd56b8c7a512bd6f072L471-R473)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]