fix(core): RouterVerticle Router 从 static final 改为实例字段

Router 声明为 static final 会在类加载时提前创建,
与 Vert.x 实例生命周期不匹配,改为在 start() 中初始化为实例字段。
This commit is contained in:
yukaidi
2026-05-29 02:12:37 +08:00
parent 942de9c430
commit d99885d396

View File

@@ -23,12 +23,11 @@ public class RouterVerticle extends AbstractVerticle {
private static final Logger LOGGER = LoggerFactory.getLogger(RouterVerticle.class);
private static final int port = SharedDataUtil.getValueForServerConfig("port");
private static final Router router = new RouterHandlerFactory(
SharedDataUtil.getJsonStringForServerConfig("contextPath")).createRouter();
private static final JsonObject globalConfig = SharedDataUtil.getJsonConfig("globalConfig");
private HttpServer server;
private Router router;
static {
LOGGER.info(JacksonConfig.class.getSimpleName() + " >> ");
@@ -61,6 +60,8 @@ public class RouterVerticle extends AbstractVerticle {
.setReuseAddress(true) // 允许地址重用
.setReusePort(true); // 允许端口重用
router = new RouterHandlerFactory(
SharedDataUtil.getJsonStringForServerConfig("contextPath")).createRouter();
server = vertx.createHttpServer(options);
server.requestHandler(router).webSocketHandler(s->{}).listen()