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]

Reply via email to