From ac19a9698d5dd7fc1835027427a99d073a36d47f Mon Sep 17 00:00:00 2001 From: sun Date: Wed, 20 Sep 2023 15:28:21 +0800 Subject: [PATCH] feat[virtual thread]: upgrade java to 21 and use virtual thread --- boot/pom.xml | 2 +- event/pom.xml | 2 +- .../java/com/zfoo/event/manager/EventBus.java | 2 +- .../java/com/zfoo/event/MyController2.java | 1 - .../java/com/zfoo/event/MyController3.java | 35 +++++++++++++++++++ hotswap/pom.xml | 2 +- monitor/pom.xml | 2 +- net/pom.xml | 2 +- orm/pom.xml | 2 +- pom.xml | 2 +- protocol/pom.xml | 2 +- scheduler/pom.xml | 2 +- storage/pom.xml | 2 +- 13 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 event/src/test/java/com/zfoo/event/MyController3.java diff --git a/boot/pom.xml b/boot/pom.xml index 21886bed..8e19caa0 100644 --- a/boot/pom.xml +++ b/boot/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/event/pom.xml b/event/pom.xml index 2851468c..158e6c68 100644 --- a/event/pom.xml +++ b/event/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/event/src/main/java/com/zfoo/event/manager/EventBus.java b/event/src/main/java/com/zfoo/event/manager/EventBus.java index 43b9aa75..db46e4f7 100644 --- a/event/src/main/java/com/zfoo/event/manager/EventBus.java +++ b/event/src/main/java/com/zfoo/event/manager/EventBus.java @@ -108,7 +108,7 @@ public abstract class EventBus { execute(event.executorHash(), () -> doReceiver(receiver, event)); break; case VirtualThread: - logger.error("waiting for java 21 virtual thread"); + Thread.ofVirtual().name("virtual-" + clazz.getSimpleName()).start(ThreadUtils.safeRunnable(() -> doReceiver(receiver, event))); break; } } diff --git a/event/src/test/java/com/zfoo/event/MyController2.java b/event/src/test/java/com/zfoo/event/MyController2.java index 73224dc0..88af6276 100644 --- a/event/src/test/java/com/zfoo/event/MyController2.java +++ b/event/src/test/java/com/zfoo/event/MyController2.java @@ -29,7 +29,6 @@ public class MyController2 { /** * 同一个事件可以被重复注册和接受 - * * 异步事件会被不会立刻执行,注意日志打印的线程号 */ @EventReceiver(Bus.AsyncThread) diff --git a/event/src/test/java/com/zfoo/event/MyController3.java b/event/src/test/java/com/zfoo/event/MyController3.java new file mode 100644 index 00000000..4390075d --- /dev/null +++ b/event/src/test/java/com/zfoo/event/MyController3.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2020 The zfoo Authors + * + * Licensed 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. + */ + +package com.zfoo.event; + +import com.zfoo.event.anno.Bus; +import com.zfoo.event.anno.EventReceiver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +/** + * @author godotg + */ +@Component +public class MyController3 { + + private static final Logger logger = LoggerFactory.getLogger(MyController3.class); + + @EventReceiver(Bus.VirtualThread) + public void onMyNoticeEvent(MyNoticeEvent event) { + logger.info("方法3虚拟线程执行事件:" + event.getMessage()); + } + +} diff --git a/hotswap/pom.xml b/hotswap/pom.xml index 500cbdec..6fc6845e 100644 --- a/hotswap/pom.xml +++ b/hotswap/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/monitor/pom.xml b/monitor/pom.xml index dcc60111..f66d63a0 100644 --- a/monitor/pom.xml +++ b/monitor/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/net/pom.xml b/net/pom.xml index ae8fc189..475e6998 100644 --- a/net/pom.xml +++ b/net/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/orm/pom.xml b/orm/pom.xml index d6ccdf05..c6c144ab 100644 --- a/orm/pom.xml +++ b/orm/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/pom.xml b/pom.xml index edd9b8bc..28049db8 100644 --- a/pom.xml +++ b/pom.xml @@ -164,7 +164,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/protocol/pom.xml b/protocol/pom.xml index 347701e8..5be8cc09 100644 --- a/protocol/pom.xml +++ b/protocol/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/scheduler/pom.xml b/scheduler/pom.xml index 1958ca24..acfe86c0 100644 --- a/scheduler/pom.xml +++ b/scheduler/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8 diff --git a/storage/pom.xml b/storage/pom.xml index b132c641..ba6de0df 100644 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -48,7 +48,7 @@ ${file.encoding} ${file.encoding} - 17 + 21 UTF-8