feat[net]: graalvm support

This commit is contained in:
sun committed 2023-09-05 15:38:20 +08:00
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);
}