This is an automated email from the ASF dual-hosted git repository. gongchao pushed a commit to branch new-startup in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
commit 93a8e8fa74a329fdaa0641ba239e18f4886e89dc Author: tomsun28 <[email protected]> AuthorDate: Sat Oct 25 16:07:23 2025 +0800 move some to startup Signed-off-by: tomsun28 <[email protected]> --- .../common/constants/ConfigConstants.java | 2 + .../manager/config/ManagerAutoConfiguration.java} | 18 ++- ...rk.boot.autoconfigure.AutoConfiguration.imports | 16 +++ hertzbeat-startup/README.md | 135 +++++++++++++++++++ hertzbeat-startup/pom.xml | 150 +++++++++++++++++++++ .../hertzbeat/startup/HertzBeatApplication.java | 14 +- .../src/main/resources/application-test.yml | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/banner.txt | 0 .../db/migration/h2/V160__update_column.sql | 0 .../db/migration/h2/V170__update_column.sql | 0 .../db/migration/h2/V172__update_column.sql | 0 .../db/migration/h2/V173__update_column.sql | 0 .../db/migration/h2/V180__update_column.sql | 0 .../db/migration/mysql/V160__update_column.sql | 0 .../db/migration/mysql/V170__update_column.sql | 0 .../db/migration/mysql/V172__update_column.sql | 0 .../db/migration/mysql/V173__update_column.sql | 0 .../db/migration/mysql/V180__update_column.sql | 0 .../migration/postgresql/V160__update_column.sql | 0 .../migration/postgresql/V170__update_column.sql | 0 .../migration/postgresql/V172__update_column.sql | 0 .../migration/postgresql/V173__update_column.sql | 0 .../migration/postgresql/V180__update_column.sql | 0 .../src/main/resources/sureness.yml | 0 .../startup}/AbstractSpringIntegrationTest.java | 4 +- .../org/apache/hertzbeat/startup/ContextTest.java | 15 +-- pom.xml | 7 + 28 files changed, 334 insertions(+), 27 deletions(-) diff --git a/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/constants/ConfigConstants.java b/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/constants/ConfigConstants.java index d71e7dc2e..47e8bacfe 100644 --- a/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/constants/ConfigConstants.java +++ b/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/constants/ConfigConstants.java @@ -42,6 +42,8 @@ public interface ConfigConstants { */ interface FunctionModuleConstants { + String MANAGER = "manager"; + String ALERT = "alert"; String ALERTER = "alerter"; diff --git a/hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/AbstractSpringIntegrationTest.java b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/config/ManagerAutoConfiguration.java similarity index 61% copy from hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/AbstractSpringIntegrationTest.java copy to hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/config/ManagerAutoConfiguration.java index e22c4a0d1..4e0c3422f 100644 --- a/hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/AbstractSpringIntegrationTest.java +++ b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/config/ManagerAutoConfiguration.java @@ -15,16 +15,20 @@ * limitations under the License. */ -package org.apache.hertzbeat.manager; +package org.apache.hertzbeat.manager.config; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.ActiveProfiles; +import org.apache.hertzbeat.common.constants.ConfigConstants; +import org.apache.hertzbeat.common.constants.SignConstants; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.context.annotation.ComponentScan; /** - * Abstract Integration Test for Spring. + * Manager auto configuration. */ -@ActiveProfiles("test") -@SpringBootTest(classes = Manager.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -public class AbstractSpringIntegrationTest { +@AutoConfiguration +@ComponentScan(basePackages = ConfigConstants.PkgConstant.PKG + + SignConstants.DOT + + ConfigConstants.FunctionModuleConstants.MANAGER) +public class ManagerAutoConfiguration { } diff --git a/hertzbeat-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hertzbeat-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 000000000..35ed8bf37 --- /dev/null +++ b/hertzbeat-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +org.apache.hertzbeat.manager.config.ManagerAutoConfiguration diff --git a/hertzbeat-startup/README.md b/hertzbeat-startup/README.md new file mode 100644 index 000000000..7d6a59f1e --- /dev/null +++ b/hertzbeat-startup/README.md @@ -0,0 +1,135 @@ +# HertzBeat Startup Module + +## 概述 + +`hertzbeat-startup` 模块是为了实现 HertzBeat 项目的模块化重构而创建的启动模块。该模块专门负责应用的启动和初始化任务,将原本由 `hertzbeat-manager` 模块承担的启动职责分离出来,实现更好的关注点分离。 + +## 模块职责 + +该启动模块主要负责以下启动任务: + +1. **主应用启动** - 通过 `HertzBeatApplication` 类作为主入口点 +2. **系统配置初始化** - 通过 `SystemConfigInitializer` 初始化系统配置、JWT密钥、AES密钥等 +3. **调度系统初始化** - 通过 `SchedulerSystemInitializer` 初始化收集器状态和监控任务 +4. **Netty服务器启动** - 通过 `NettyServerInitializer` 启动集群通信服务器 + +## 架构设计 + +### 原有架构问题 +- `manager` 模块既负责业务逻辑又负责启动,职责不够清晰 +- 启动代码散布在多个文件中,不利于维护 + +### 重构后的架构 +``` +hertzbeat-startup/ +├── src/main/java/org/apache/hertzbeat/startup/ +│ ├── HertzBeatApplication.java # 主启动类 +│ ├── config/ +│ │ └── SystemConfigInitializer.java # 系统配置初始化 +│ └── scheduler/ +│ ├── SchedulerSystemInitializer.java # 调度系统初始化 +│ └── NettyServerInitializer.java # Netty服务器初始化 +└── pom.xml +``` + +## 使用方式 + +### 主入口点 +```java +// 原来的启动方式 +public static void main(String[] args) { + SpringApplication.run(Manager.class, args); +} + +// 现在的启动方式 +public static void main(String[] args) { + SpringApplication.run(HertzBeatApplication.class, args); +} +``` + +### 启动顺序 +1. `HertzBeatApplication` 作为主启动类启动Spring Boot应用 +2. `SystemConfigInitializer` (最高优先级 +2) 初始化系统配置 +3. `SchedulerSystemInitializer` (最低优先级 -1) 初始化调度系统 +4. `NettyServerInitializer` (最低优先级) 启动Netty服务器 + +## 迁移说明 + +### 从 Manager 模块迁移的组件 +1. **启动主类** - `Manager.java` → `HertzBeatApplication.java` +2. **配置初始化** - `ConfigInitializer.java` → `SystemConfigInitializer.java` +3. **调度初始化** - `SchedulerInit.java` → `SchedulerSystemInitializer.java` +4. **Netty服务器** - `ManageServer.java` → `NettyServerInitializer.java` + +### Manager 模块的变化 +- 移除了所有启动相关的代码 +- 保留 `Manager.java` 作为 Spring Boot 配置类 +- 专注于业务逻辑处理 + +## 资源文件迁移 + +### 迁移到 startup 模块的资源 +- **应用配置文件** - `application*.yml`(包含dev、test、mysql、pg等配置) +- **数据库迁移脚本** - `db/migration/`(支持H2、MySQL、PostgreSQL) +- **启动横幅** - `banner.txt` +- **安全配置** - `sureness.yml` + +### 保留在 manager 模块的资源 +- **监控应用定义** - `define/app-*.yml`(各种监控应用的定义文件) +- **告警模板** - `templates/`(告警通知模板文件) + +## 依赖关系 + +### 当前依赖 +- `spring-boot-starter` - Spring Boot核心 +- `spring-boot-starter-web` - Web应用支持 +- `spring-boot-starter-data-jpa` - 数据持久化 +- `flyway-core` - 数据库迁移核心 +- `flyway-mysql` - MySQL数据库迁移支持 +- `flyway-database-postgresql` - PostgreSQL数据库迁移支持 +- `h2database` - H2数据库(默认) +- `hertzbeat-common` - 通用组件 +- `hertzbeat-base` - 基础组件 +- `hertzbeat-warehouse` - 数据仓库 +- `hertzbeat-alerter` - 告警模块 +- `hertzbeat-remoting` - 远程通信 +- `hertzbeat-manager` - 管理模块(业务逻辑) + +### 注意事项 +由于启动模块需要访问管理模块的服务和配置,存在对 `hertzbeat-manager` 的依赖。在实际部署时,需要确保依赖的正确性。 + +## 配置属性 + +### 系统配置相关 +- `sureness.jwt.secret` - JWT密钥配置 +- `common.secret` - AES密钥配置 + +### 调度器相关 +- `scheduler.server.enabled` - 是否启用Netty服务器 +- `scheduler.server.port` - Netty服务器端口 +- `scheduler.server.idleStateEventTriggerTime` - 空闲状态触发时间 + +## 优势 + +1. **职责分离** - 启动逻辑与业务逻辑分离,模块职责更加清晰 +2. **易于维护** - 所有启动相关代码集中在一个模块中 +3. **可扩展性** - 新的启动功能可以轻松添加到启动模块 +4. **向后兼容** - 保持了原有的配置和功能不变 + +## 注意事项 + +1. **依赖管理** - 需要正确处理启动模块与业务模块之间的依赖关系 +2. **启动顺序** - 确保各个初始化组件按照正确的顺序执行 +3. **配置传递** - 启动模块需要能够访问业务模块的配置和服务 +4. **测试验证** - 重构后需要充分测试启动流程的正确性 + +## 总结 + +通过创建 `hertzbeat-startup` 模块,我们成功地将启动职责从业务模块中分离出来,实现了更清晰的模块划分。这种设计使得: + +- 启动逻辑更加集中和易于维护 +- 业务模块可以专注于业务逻辑 +- 整体架构更加模块化和可扩展 +- 保持了原有功能的完整性和稳定性 + +这是一个典型的关注点分离重构实践,提高了代码的可维护性和可扩展性。 \ No newline at end of file diff --git a/hertzbeat-startup/pom.xml b/hertzbeat-startup/pom.xml new file mode 100644 index 000000000..31066e8f1 --- /dev/null +++ b/hertzbeat-startup/pom.xml @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one or more + ~ contributor license agreements. See the NOTICE file distributed with + ~ this work for additional information regarding copyright ownership. + ~ The ASF licenses this file to You under the Apache License, Version 2.0 + ~ (the "License"); you may not use this file except in compliance with + ~ the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat</artifactId> + <version>2.0-SNAPSHOT</version> + </parent> + + <artifactId>hertzbeat-startup</artifactId> + <packaging>jar</packaging> + + <name>hertzbeat-startup</name> + <description>Apache HertzBeat startup module</description> + + <dependencies> + <!-- Spring Boot Starter --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter</artifactId> + </dependency> + + <!-- Spring Boot JPA --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-jpa</artifactId> + </dependency> + + <!-- Spring Boot Web --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + + <!-- HertzBeat manager --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-manager</artifactId> + </dependency> + + <!-- HertzBeat common --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-common</artifactId> + </dependency> + + <!-- HertzBeat base --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-base</artifactId> + </dependency> + + <!-- HertzBeat warehouse --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-warehouse</artifactId> + </dependency> + + <!-- HertzBeat alerter --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-alerter</artifactId> + </dependency> + + <!-- HertzBeat remoting --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-remoting</artifactId> + </dependency> + + + <!-- Jackson --> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + </dependency> + + <!-- Commons Lang3 --> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + + <!-- Sureness for security --> + <dependency> + <groupId>com.usthe.sureness</groupId> + <artifactId>spring-boot3-starter-sureness</artifactId> + </dependency> + + <!-- Netty --> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + + <!-- Database Migration - Flyway --> + <dependency> + <groupId>org.flywaydb</groupId> + <artifactId>flyway-core</artifactId> + </dependency> + <dependency> + <groupId>org.flywaydb</groupId> + <artifactId>flyway-mysql</artifactId> + </dependency> + <dependency> + <groupId>org.flywaydb</groupId> + <artifactId>flyway-database-postgresql</artifactId> + </dependency> + + <!-- H2 Database (default) --> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <scope>provided</scope> + </dependency> + + <!-- Lombok --> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <scope>provided</scope> + </dependency> + + <!-- Test dependencies --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + </dependencies> +</project> diff --git a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/Manager.java b/hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java similarity index 86% rename from hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/Manager.java rename to hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java index addb281ce..f06741ef4 100644 --- a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/Manager.java +++ b/hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.hertzbeat.manager; +package org.apache.hertzbeat.startup; import javax.annotation.PostConstruct; import org.apache.hertzbeat.manager.nativex.HertzbeatRuntimeHintsRegistrar; @@ -31,9 +31,9 @@ import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; /** - * start up class. + * HertzBeat main application startup class. + * This class replaces the original Manager class as the main entry point for HertzBeat application. */ - @SpringBootApplication @EnableJpaAuditing @EnableJpaRepositories(basePackages = {"org.apache.hertzbeat"}) @@ -43,13 +43,15 @@ import org.springframework.scheduling.annotation.EnableScheduling; @ImportRuntimeHints(HertzbeatRuntimeHintsRegistrar.class) @EnableAsync @EnableScheduling -public class Manager { +public class HertzBeatApplication { + public static void main(String[] args) { - SpringApplication.run(Manager.class, args); + SpringApplication.run(HertzBeatApplication.class, args); } @PostConstruct public void init() { + // Set JNDI object factory filter for security System.setProperty("jdk.jndi.object.factoriesFilter", "!com.zaxxer.hikari.HikariJNDIFactory"); } -} \ No newline at end of file +} diff --git a/hertzbeat-manager/src/main/resources/application-test.yml b/hertzbeat-startup/src/main/resources/application-test.yml similarity index 100% rename from hertzbeat-manager/src/main/resources/application-test.yml rename to hertzbeat-startup/src/main/resources/application-test.yml diff --git a/hertzbeat-manager/src/main/resources/application.yml b/hertzbeat-startup/src/main/resources/application.yml similarity index 100% rename from hertzbeat-manager/src/main/resources/application.yml rename to hertzbeat-startup/src/main/resources/application.yml diff --git a/hertzbeat-manager/src/main/resources/banner.txt b/hertzbeat-startup/src/main/resources/banner.txt similarity index 100% rename from hertzbeat-manager/src/main/resources/banner.txt rename to hertzbeat-startup/src/main/resources/banner.txt diff --git a/hertzbeat-manager/src/main/resources/db/migration/h2/V160__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/h2/V160__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/h2/V160__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/h2/V160__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/h2/V170__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/h2/V170__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/h2/V170__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/h2/V170__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/h2/V172__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/h2/V172__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/h2/V172__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/h2/V172__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/h2/V173__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/h2/V173__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/h2/V173__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/h2/V173__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/h2/V180__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/h2/V180__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/h2/V180__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/h2/V180__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/mysql/V160__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/mysql/V160__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/mysql/V160__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/mysql/V160__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/mysql/V170__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/mysql/V170__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/mysql/V170__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/mysql/V170__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/mysql/V172__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/mysql/V172__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/mysql/V172__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/mysql/V172__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/mysql/V173__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/mysql/V173__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/mysql/V173__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/mysql/V173__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/mysql/V180__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/mysql/V180__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/mysql/V180__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/mysql/V180__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/postgresql/V160__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/postgresql/V160__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/postgresql/V160__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/postgresql/V160__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/postgresql/V170__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/postgresql/V170__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/postgresql/V170__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/postgresql/V170__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/postgresql/V172__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/postgresql/V172__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/postgresql/V172__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/postgresql/V172__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/postgresql/V173__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/postgresql/V173__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/postgresql/V173__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/postgresql/V173__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/db/migration/postgresql/V180__update_column.sql b/hertzbeat-startup/src/main/resources/db/migration/postgresql/V180__update_column.sql similarity index 100% rename from hertzbeat-manager/src/main/resources/db/migration/postgresql/V180__update_column.sql rename to hertzbeat-startup/src/main/resources/db/migration/postgresql/V180__update_column.sql diff --git a/hertzbeat-manager/src/main/resources/sureness.yml b/hertzbeat-startup/src/main/resources/sureness.yml similarity index 100% rename from hertzbeat-manager/src/main/resources/sureness.yml rename to hertzbeat-startup/src/main/resources/sureness.yml diff --git a/hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/AbstractSpringIntegrationTest.java b/hertzbeat-startup/src/test/java/org/apache/hertzbeat/startup/AbstractSpringIntegrationTest.java similarity index 87% rename from hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/AbstractSpringIntegrationTest.java rename to hertzbeat-startup/src/test/java/org/apache/hertzbeat/startup/AbstractSpringIntegrationTest.java index e22c4a0d1..0c2e9f571 100644 --- a/hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/AbstractSpringIntegrationTest.java +++ b/hertzbeat-startup/src/test/java/org/apache/hertzbeat/startup/AbstractSpringIntegrationTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.hertzbeat.manager; +package org.apache.hertzbeat.startup; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; @@ -24,7 +24,7 @@ import org.springframework.test.context.ActiveProfiles; * Abstract Integration Test for Spring. */ @ActiveProfiles("test") -@SpringBootTest(classes = Manager.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@SpringBootTest(classes = HertzBeatApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class AbstractSpringIntegrationTest { } diff --git a/hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java b/hertzbeat-startup/src/test/java/org/apache/hertzbeat/startup/ContextTest.java similarity index 92% rename from hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java rename to hertzbeat-startup/src/test/java/org/apache/hertzbeat/startup/ContextTest.java index 9c1858fb2..bc00a05c1 100644 --- a/hertzbeat-manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java +++ b/hertzbeat-startup/src/test/java/org/apache/hertzbeat/startup/ContextTest.java @@ -15,12 +15,11 @@ * limitations under the License. */ -package org.apache.hertzbeat.manager; +package org.apache.hertzbeat.startup; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import javax.annotation.Resource; -import javax.naming.NamingException; import org.apache.hertzbeat.alert.AlerterProperties; import org.apache.hertzbeat.alert.AlerterWorkerPool; import org.apache.hertzbeat.alert.calculate.realtime.MetricsRealTimeAlertCalculator; @@ -59,7 +58,7 @@ import org.springframework.context.ApplicationContext; * * @version 2.1 */ -class ManagerTest extends AbstractSpringIntegrationTest { +class ContextTest extends AbstractSpringIntegrationTest { @Resource private ApplicationContext ctx; @@ -107,13 +106,5 @@ class ManagerTest extends AbstractSpringIntegrationTest { assertNotNull(ctx.getBean(MetricsDataController.class)); } - - @Test - void testJndi() throws NamingException { - //System.setProperty("jdk.jndi.object.factoriesFilter", "!com.zaxxer.hikari.HikariJNDIFactory"); - // for CI - //InitialContext initialContext = new InitialContext(); - //initialContext.lookup("rmi://localhost:1099/Exploit"); - } - + } diff --git a/pom.xml b/pom.xml index 1fb952d14..7f7cfaf0e 100644 --- a/pom.xml +++ b/pom.xml @@ -78,6 +78,7 @@ </mailingLists> <modules> + <module>hertzbeat-startup</module> <module>hertzbeat-manager</module> <module>hertzbeat-alerter</module> <module>hertzbeat-common</module> @@ -196,6 +197,12 @@ <artifactId>hertzbeat-base</artifactId> <version>${hertzbeat.version}</version> </dependency> + <!-- manager --> + <dependency> + <groupId>org.apache.hertzbeat</groupId> + <artifactId>hertzbeat-manager</artifactId> + <version>${hertzbeat.version}</version> + </dependency> <!-- data warehouse --> <dependency> <groupId>org.apache.hertzbeat</groupId> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
