mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-10-11 03:13:51 +00:00
feat[net]: graalvm support
This commit is contained in:
1 parent
972b42f3c2
commit
002b7ec2c5
6 files changed
+146
-2
No files matched your search
@@ -13,6 +13,8 @@
|
||||
|
||||
package com.zfoo.net.anno;
|
||||
|
||||
import org.springframework.aot.hint.annotation.Reflective;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
@@ -22,5 +24,6 @@ import java.lang.annotation.*;
|
||||
@Documented
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.METHOD})
|
||||
@Reflective
|
||||
public @interface PacketReceiver {
|
||||
}
|
||||
@@ -27,6 +27,7 @@ import com.zfoo.protocol.ProtocolManager;
|
||||
import com.zfoo.protocol.collection.ArrayUtils;
|
||||
import com.zfoo.protocol.exception.RunException;
|
||||
import com.zfoo.protocol.util.AssertionUtils;
|
||||
import com.zfoo.protocol.util.GraalVmUtils;
|
||||
import com.zfoo.protocol.util.ReflectionUtils;
|
||||
import com.zfoo.protocol.util.StringUtils;
|
||||
import io.netty.util.collection.ShortObjectHashMap;
|
||||
@@ -119,8 +120,12 @@ public abstract class PacketBus {
|
||||
AssertionUtils.isNull(receiverMap.get(protocolId), "duplicate protocol registration, @PacketReceiver [class:{}] is repeatedly received [at{}]", packetClazz.getSimpleName(), packetClazz.getSimpleName());
|
||||
|
||||
var receiverDefinition = new PacketReceiverDefinition(bean, method, packetClazz, attachmentClazz);
|
||||
var enhanceReceiverDefinition = EnhanceUtils.createPacketReceiver(receiverDefinition);
|
||||
receiverMap.put(protocolId, enhanceReceiverDefinition);
|
||||
if (GraalVmUtils.isGraalVM()) {
|
||||
receiverMap.put(protocolId, receiverDefinition);
|
||||
} else {
|
||||
var enhanceReceiverDefinition = EnhanceUtils.createPacketReceiver(receiverDefinition);
|
||||
receiverMap.put(protocolId, enhanceReceiverDefinition);
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
throw new RunException("Registration protocol [class:{}] unknown exception", packetClazz.getSimpleName(), t);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user