From c22c589a9a5f0a615f0d33cecf9d56392ed29101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BF=97=E5=8B=87?= Date: Fri, 8 Oct 2021 10:46:56 +0800 Subject: [PATCH] support native image(graalvm) for dubbo 3.0.4 (#8966) --- .../common/extension/ExtensionLoader.java | 4 +- .../utils/ClassLoaderResourceLoader.java | 20 +- .../dubbo/common/utils/NativeUtils.java | 28 + .../dubbo-demo-native-consumer/pom.xml | 2 +- .../demo/graalvm/consumer/Application.java | 1 + .../META-INF/native-image/reflect-config.json | 3821 +++++++++++----- .../native-image/resource-config.json | 102 +- .../dubbo-demo-native-provider/pom.xml | 3 +- .../demo/graalvm/provider/Application.java | 14 +- .../src/main/resources/Log4j.properties | 25 + .../META-INF/native-image/reflect-config.json | 3835 ++++++++++++----- .../native-image/resource-config.json | 95 +- .../serialize/Serialization$Adaptive.java | 6 +- .../apache/dubbo/rpc/Protocol$Adaptive.java | 12 +- .../dubbo/rpc/ProxyFactory$Adaptive.java | 18 +- .../dubbo/rpc/cluster/Cluster$Adaptive.java | 17 +- dubbo-native/src/main/resources/Dockerfile | 30 + 17 files changed, 5602 insertions(+), 2431 deletions(-) create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/utils/NativeUtils.java create mode 100644 dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/Log4j.properties create mode 100644 dubbo-native/src/main/resources/Dockerfile diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java b/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java index 830352f094..946624df95 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java @@ -33,6 +33,7 @@ import org.apache.dubbo.common.utils.CollectionUtils; import org.apache.dubbo.common.utils.ConcurrentHashSet; import org.apache.dubbo.common.utils.ConfigUtils; import org.apache.dubbo.common.utils.Holder; +import org.apache.dubbo.common.utils.NativeUtils; import org.apache.dubbo.common.utils.ReflectUtils; import org.apache.dubbo.common.utils.StringUtils; import org.apache.dubbo.rpc.model.ApplicationModel; @@ -71,7 +72,6 @@ import static java.util.ServiceLoader.load; import static java.util.stream.StreamSupport.stream; import static org.apache.dubbo.common.constants.CommonConstants.COMMA_SPLIT_PATTERN; import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_KEY; -import static org.apache.dubbo.common.constants.CommonConstants.NATIVE; import static org.apache.dubbo.common.constants.CommonConstants.REMOVE_VALUE_PREFIX; /** @@ -1165,7 +1165,7 @@ public class ExtensionLoader { private Class createAdaptiveExtensionClass() { ClassLoader classLoader = findClassLoader(); try { - if (Boolean.parseBoolean(System.getProperty(NATIVE, "false"))) { + if (NativeUtils.isNative()) { return classLoader.loadClass(type.getName() + "$Adaptive"); } } catch (Throwable ignore) { diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassLoaderResourceLoader.java b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassLoaderResourceLoader.java index 5dd84578b0..ee149c4b63 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassLoaderResourceLoader.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassLoaderResourceLoader.java @@ -18,6 +18,7 @@ package org.apache.dubbo.common.utils; import java.io.IOException; import java.lang.ref.SoftReference; +import java.lang.reflect.Field; import java.net.URL; import java.util.Collections; import java.util.Enumeration; @@ -26,6 +27,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -78,9 +80,15 @@ public class ClassLoaderResourceLoader { Enumeration urls = null; try { urls = currentClassLoader.getResources(fileName); + boolean isNative = NativeUtils.isNative(); if (urls != null) { while (urls.hasMoreElements()) { - set.add(urls.nextElement()); + URL url = urls.nextElement(); + if (isNative) { + //In native mode, the address of each URL is the same instead of different paths, so it is necessary to set the ref to make it different + setRef(url); + } + set.add(url); } } } catch (IOException e) { @@ -92,4 +100,14 @@ public class ClassLoaderResourceLoader { } + private static void setRef(URL url) { + try { + Field field = URL.class.getDeclaredField("ref"); + field.setAccessible(true); + field.set(url, UUID.randomUUID().toString()); + } catch (Throwable ignore) { + } + } + + } diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/NativeUtils.java b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/NativeUtils.java new file mode 100644 index 0000000000..5ab9cff6af --- /dev/null +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/NativeUtils.java @@ -0,0 +1,28 @@ +/* + * 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. + */ + +package org.apache.dubbo.common.utils; + +import static org.apache.dubbo.common.constants.CommonConstants.NATIVE; + +public abstract class NativeUtils { + + public static boolean isNative() { + return Boolean.parseBoolean(System.getProperty(NATIVE, "false")); + } + +} diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml index 6c4c625085..6f92406078 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml @@ -142,6 +142,7 @@ --initialize-at-build-time=org.slf4j.impl.Log4jLoggerFactory --initialize-at-build-time=org.slf4j.impl.Log4jLoggerAdapter --initialize-at-build-time=org.eclipse.collections.api.factory.Sets + --initialize-at-build-time=io.netty.util.internal.logging.Log4JLogger --initialize-at-run-time=io.netty.channel.epoll.Epoll @@ -155,7 +156,6 @@ --initialize-at-run-time=io.netty.channel.unix.Errors --initialize-at-run-time=io.netty.channel.unix.IovArray --initialize-at-run-time=io.netty.channel.unix.Limits - --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger --initialize-at-run-time=io.netty.channel.unix.Socket --initialize-at-run-time=io.netty.channel.ChannelHandlerMask diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/java/com/apache/dubbo/demo/graalvm/consumer/Application.java b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/java/com/apache/dubbo/demo/graalvm/consumer/Application.java index 929d916fc9..5f81301820 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/java/com/apache/dubbo/demo/graalvm/consumer/Application.java +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/java/com/apache/dubbo/demo/graalvm/consumer/Application.java @@ -29,6 +29,7 @@ public class Application { public static void main(String[] args) { System.setProperty("dubbo.application.logger", "log4j"); + System.setProperty("native","true"); if (isClassic(args)) { runWithRefer(); } else { diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/reflect-config.json b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/reflect-config.json index e558b5d420..f3dee4e9f5 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/reflect-config.json +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/reflect-config.json @@ -1,1149 +1,2676 @@ [ -{ - "name":"byte[]" -}, -{ - "name":"com.intellij.rt.execution.application.AppMainV2$Agent", - "methods":[{"name":"premain","parameterTypes":["java.lang.String","java.lang.instrument.Instrumentation"] }] -}, -{ - "name":"io.netty.buffer.AbstractByteBufAllocator", - "allDeclaredMethods":true -}, -{ - "name":"io.netty.buffer.AbstractReferenceCountedByteBuf", - "fields":[{"name":"refCnt", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.channel.ChannelDuplexHandler", - "methods":[ - {"name":"bind","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"deregister","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"disconnect","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"read","parameterTypes":["io.netty.channel.ChannelHandlerContext"] } - ] -}, -{ - "name":"io.netty.channel.ChannelHandlerAdapter", - "methods":[{"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }] -}, -{ - "name":"io.netty.channel.ChannelInboundHandlerAdapter", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelUnregistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelWritabilityChanged","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] } - ] -}, -{ - "name":"io.netty.channel.ChannelInitializer", - "methods":[ - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] } - ] -}, -{ - "name":"io.netty.channel.ChannelOutboundHandlerAdapter", - "methods":[ - {"name":"bind","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"deregister","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"disconnect","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"read","parameterTypes":["io.netty.channel.ChannelHandlerContext"] } - ] -}, -{ - "name":"io.netty.channel.DefaultChannelPipeline$HeadContext", - "methods":[ - {"name":"bind","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelUnregistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelWritabilityChanged","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"deregister","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"disconnect","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"read","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] } - ] -}, -{ - "name":"io.netty.channel.DefaultChannelPipeline$TailContext", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelUnregistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelWritabilityChanged","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] } - ] -}, -{ - "name":"io.netty.channel.socket.nio.NioSocketChannel", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"io.netty.handler.codec.ByteToMessageDecoder", - "methods":[ - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] } - ] -}, -{ - "name":"io.netty.handler.codec.MessageToByteEncoder", - "methods":[{"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] }] -}, -{ - "name":"io.netty.handler.timeout.IdleStateHandler", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] } - ] -}, -{ - "name":"io.netty.util.ReferenceCountUtil", - "allDeclaredMethods":true -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", - "fields":[{"name":"producerLimit", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields", - "fields":[{"name":"consumerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields", - "fields":[{"name":"producerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueConsumerIndexField", - "fields":[{"name":"consumerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerIndexField", - "fields":[{"name":"producerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerLimitField", - "fields":[{"name":"producerLimit", "allowUnsafeAccess":true}] -}, -{ - "name":"java.io.File", - "methods":[{"name":"","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"java.lang.Number", - "allDeclaredFields":true, - "allDeclaredMethods":true -}, -{ - "name":"java.lang.Object", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allPublicMethods":true -}, -{ - "name":"java.lang.StackTraceElement", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"java.lang.String" -}, -{ - "name":"java.lang.String[]" -}, -{ - "name":"java.lang.Thread", - "methods":[{"name":"getContextClassLoader","parameterTypes":[] }] -}, -{ - "name":"java.lang.Throwable", - "fields":[ - {"name":"detailMessage"}, - {"name":"stackTrace"} - ] -}, -{ - "name":"java.lang.management.ManagementFactory", - "methods":[{"name":"getRuntimeMXBean","parameterTypes":[] }] -}, -{ - "name":"java.lang.management.RuntimeMXBean", - "methods":[{"name":"getName","parameterTypes":[] }] -}, -{ - "name":"java.math.BigDecimal", - "methods":[{"name":"","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"java.math.BigInteger", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"java.nio.Bits", - "methods":[{"name":"unaligned","parameterTypes":[] }] -}, -{ - "name":"java.nio.Buffer", - "fields":[{"name":"address", "allowUnsafeAccess":true}] -}, -{ - "name":"java.nio.DirectByteBuffer", - "fields":[{"name":"cleaner", "allowUnsafeAccess":true}], - "methods":[{"name":"","parameterTypes":["long","int"] }] -}, -{ - "name":"java.security.MessageDigestSpi" -}, -{ - "name":"java.security.interfaces.RSAPrivateKey" -}, -{ - "name":"java.security.interfaces.RSAPublicKey" -}, -{ - "name":"java.sql.Date", - "methods":[{"name":"","parameterTypes":["long"] }] -}, -{ - "name":"java.sql.Time", - "methods":[{"name":"","parameterTypes":["long"] }] -}, -{ - "name":"java.sql.Timestamp", - "methods":[{"name":"","parameterTypes":["long"] }] -}, -{ - "name":"java.time.Duration" -}, -{ - "name":"java.time.Instant" -}, -{ - "name":"java.time.LocalDate" -}, -{ - "name":"java.time.LocalDateTime" -}, -{ - "name":"java.time.LocalTime" -}, -{ - "name":"java.time.MonthDay" -}, -{ - "name":"java.time.OffsetDateTime" -}, -{ - "name":"java.time.OffsetTime" -}, -{ - "name":"java.time.Period" -}, -{ - "name":"java.time.Year" -}, -{ - "name":"java.time.YearMonth" -}, -{ - "name":"java.time.ZoneId" -}, -{ - "name":"java.time.ZoneOffset" -}, -{ - "name":"java.time.ZonedDateTime" -}, -{ - "name":"java.util.AbstractMap", - "allDeclaredMethods":true -}, -{ - "name":"java.util.Date" -}, -{ - "name":"java.util.HashMap", - "allDeclaredMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"java.util.LinkedHashMap", - "allDeclaredMethods":true -}, -{ - "name":"java.util.Map", - "allPublicConstructors":true -}, -{ - "name":"java.util.concurrent.ConcurrentNavigableMap" -}, -{ - "name":"java.util.concurrent.ConcurrentSkipListMap" -}, -{ - "name":"javax.management.ObjectName", - "methods":[{"name":"","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"javax.security.auth.x500.X500Principal", - "fields":[{"name":"thisX500Name"}], - "methods":[{"name":"","parameterTypes":["sun.security.x509.X500Name"] }] -}, -{ - "name":"org.apace.dubbo.graalvm.demo.DemoService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.common.config.Environment", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.config.configcenter.file.FileSystemDynamicConfigurationFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.config.configcenter.nop.NopDynamicConfigurationFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.extension.inject.SpiExtensionInjector", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.infra.support.EnvironmentAdapter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.jcl.JclLoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.jdk.JdkLoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.log4j2.Log4j2LoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.serialize.hessian2.Hessian2Serialization", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.serialize.hessian2.dubbo.DefaultHessian2FactoryInitializer", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.serialize.hessian2.dubbo.WhitelistHessian2FactoryInitializer", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.ThreadPool$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.manager.DefaultExecutorRepository", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.cached.CachedThreadPool", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.eager.EagerThreadPool", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.fixed.FixedThreadPool", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.limited.LimitedThreadPool", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.url.component.param.DefaultDynamicParamSource", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.AbstractConfig", - "allDeclaredFields":true, - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractInterfaceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractMethodConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractReferenceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractServiceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ApplicationConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ConfigCenterConfig", - "allDeclaredFields":true, - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ConsumerConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.ModuleConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.ProtocolConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.ProviderConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.ReferenceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ReferenceConfigBase", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.RegistryConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.SslConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.context.ConfigManager", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.ArrayTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.CollectionTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.EnumTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.MapTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.model.MethodDefinition", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.model.ServiceDefinition", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.model.TypeDefinition", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.MetricsService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.monitor.MonitorService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.monitor.support.MetricsServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.support.MonitorClusterFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.support.MonitorFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.support.MonitorServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.RegistryFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.RegistryFactoryWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.registry.RegistryFactory"] }] -}, -{ - "name":"org.apache.dubbo.registry.client.DefaultRegistryClusterIdentifier", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.DefaultServiceDiscoveryFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.ServiceDiscoveryRegistryFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.migration.DefaultMigrationAddressComparator", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.migration.MigrationRuleListener", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.integration.RegistryProtocol", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.multicast.MulticastRegistryFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.multicast.MulticastServiceDiscoveryFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.zookeeper.ZookeeperRegistryFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscoveryFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.Dispatcher$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.Transporter$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.exchange.codec.ExchangeCodec", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.telnet.codec.TelnetCodec", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.codec.TransportCodec", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.all.AllDispatcher", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyClient$1" -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyClientHandler", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] } - ] -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalDecoder" -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalEncoder" -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyTransporter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.Protocol$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.ProxyFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.Cluster$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.ConfiguratorFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.RouterFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.configurator.absent.AbsentConfiguratorFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.configurator.override.OverrideConfiguratorFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.filter.DefaultFilterChainBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.Protocol"] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.filter.support.ZoneAwareFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.governance.DefaultGovernanceRuleRepositoryImpl", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.loadbalance.ConsistentHashLoadBalance", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalance", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.loadbalance.ShortestResponseLoadBalance", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.condition.config.AppRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.condition.config.ServiceRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.mesh.route.MeshRuleAddressListenerInterceptor", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.mesh.route.MeshRuleRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.mock.MockRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.tag.TagDynamicStateRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.tag.TagRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.router.tag.TagStaticStateRouterFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.AvailableCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.BroadcastCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.FailbackCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.FailfastCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.FailoverCluster", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.FailsafeCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.ForkingCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.MergeableCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.registry.ZoneAwareCluster", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.cluster.Cluster"] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.AccessLogFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ClassLoaderFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.CompatibleFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ContextFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.DeprecatedFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.EchoFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ExceptionFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ExecuteLimitFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.GenericFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.GenericImplFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.TimeoutFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.TokenFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.TpsLimitFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.listener.DeprecatedInvokerListener", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.model.ServiceRepository", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.Protocol"] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.DubboCountCodec", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.proxy.jdk.JdkProxyFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.ProxyFactory"] }] -}, -{ - "name":"org.apache.dubbo.rpc.service.Destroyable", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.rpc.service.EchoService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.rpc.service.EchoServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.service.GenericService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.rpc.service.GenericServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.support.MockProtocol", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.log4j.Appender" -}, -{ - "name":"org.apache.log4j.Category" -}, -{ - "name":"org.apache.log4j.CategoryKey" -}, -{ - "name":"org.apache.log4j.ConsoleAppender", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.log4j.Layout", - "allPublicMethods":true -}, -{ - "name":"org.apache.log4j.Logger" -}, -{ - "name":"org.apache.log4j.PatternLayout", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.log4j.helpers.Loader" -}, -{ - "name":"org.apache.log4j.spi.OptionHandler" -}, -{ - "name":"org.apache.zookeeper.ClientCnxnSocketNIO", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.misc.Cleaner", - "methods":[{"name":"clean","parameterTypes":[] }] -}, -{ - "name":"sun.misc.Unsafe", - "fields":[{"name":"theUnsafe"}], - "methods":[ - {"name":"copyMemory","parameterTypes":["java.lang.Object","long","java.lang.Object","long","long"] }, - {"name":"getAndAddLong","parameterTypes":["java.lang.Object","long","long"] }, - {"name":"getAndSetObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] } - ] -}, -{ - "name":"sun.misc.VM", - "methods":[{"name":"maxDirectMemory","parameterTypes":[] }] -}, -{ - "name":"sun.nio.ch.SelectorImpl", - "fields":[ - {"name":"publicSelectedKeys"}, - {"name":"selectedKeys"} - ] -}, -{ - "name":"sun.security.pkcs.SignerInfo[]" -}, -{ - "name":"sun.security.provider.ConfigFile", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.SHA", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.SHA2$SHA256", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.Sun", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.X509Factory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.rsa.RSAKeyFactory$Legacy", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.rsa.RSASignature$SHA256withRSA", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.rsa.SunRsaSign", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.util.ObjectIdentifier" -}, -{ - "name":"sun.security.x509.AuthorityInfoAccessExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.AuthorityKeyIdentifierExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.BasicConstraintsExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.CRLDistributionPointsExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.CertificateExtensions" -}, -{ - "name":"sun.security.x509.CertificatePoliciesExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.ExtendedKeyUsageExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.KeyUsageExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.SubjectAlternativeNameExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.SubjectKeyIdentifierExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -} + { + "name": "boolean", + "allPublicMethods": true + }, + { + "name": "com.intellij.rt.execution.application.AppMainV2$Agent", + "methods": [ + { + "name": "premain", + "parameterTypes": [ + "java.lang.String", + "java.lang.instrument.Instrumentation" + ] + } + ] + }, + { + "name": "io.netty.bootstrap.ServerBootstrap$1" + }, + { + "name": "io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor", + "methods": [ + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + } + ] + }, + { + "name": "io.netty.buffer.AbstractByteBufAllocator", + "allDeclaredMethods": true + }, + { + "name": "io.netty.buffer.AbstractReferenceCountedByteBuf", + "fields": [ + { + "name": "refCnt", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.channel.ChannelDuplexHandler", + "methods": [ + { + "name": "bind", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "close", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "connect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "deregister", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "disconnect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "flush", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "read", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelHandlerAdapter", + "methods": [ + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelInboundHandlerAdapter", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelUnregistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelWritabilityChanged", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelInitializer", + "methods": [ + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelOutboundHandlerAdapter", + "methods": [ + { + "name": "bind", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "close", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "connect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "deregister", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "disconnect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "flush", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "read", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + } + ] + }, + { + "name": "io.netty.channel.DefaultChannelPipeline$HeadContext", + "methods": [ + { + "name": "bind", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelUnregistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelWritabilityChanged", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "close", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "connect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "deregister", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "disconnect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "flush", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "read", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "io.netty.channel.DefaultChannelPipeline$TailContext", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelUnregistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelWritabilityChanged", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + } + ] + }, + { + "name": "io.netty.channel.socket.nio.NioServerSocketChannel", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "io.netty.channel.socket.nio.NioSocketChannel", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "io.netty.handler.codec.ByteToMessageDecoder", + "methods": [ + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + } + ] + }, + { + "name": "io.netty.handler.codec.MessageToByteEncoder", + "methods": [ + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "io.netty.handler.timeout.IdleStateHandler", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "io.netty.util.ReferenceCountUtil", + "allDeclaredMethods": true + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", + "fields": [ + { + "name": "producerLimit", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields", + "fields": [ + { + "name": "consumerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields", + "fields": [ + { + "name": "producerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueConsumerIndexField", + "fields": [ + { + "name": "consumerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerIndexField", + "fields": [ + { + "name": "producerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerLimitField", + "fields": [ + { + "name": "producerLimit", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "java.io.File", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "java.io.Serializable", + "allDeclaredMethods": true + }, + { + "name": "java.lang.Cloneable", + "allDeclaredMethods": true + }, + { + "name": "java.lang.Comparable", + "allDeclaredMethods": true + }, + { + "name": "java.lang.Enum", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "name": "java.lang.Integer", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.lang.Number", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "name": "java.lang.Object", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allPublicMethods": true + }, + { + "name": "java.lang.StackTraceElement", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.lang.String" + }, + { + "name": "java.lang.String[]" + }, + { + "name": "java.lang.Thread", + "methods": [ + { + "name": "getContextClassLoader", + "parameterTypes": [] + } + ] + }, + { + "name": "java.lang.Throwable", + "fields": [ + { + "name": "detailMessage" + }, + { + "name": "stackTrace" + } + ] + }, + { + "name": "java.lang.management.ManagementFactory", + "methods": [ + { + "name": "getRuntimeMXBean", + "parameterTypes": [] + } + ] + }, + { + "name": "java.lang.management.RuntimeMXBean", + "methods": [ + { + "name": "getName", + "parameterTypes": [] + } + ] + }, + { + "name": "java.math.BigDecimal", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "java.math.BigInteger", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.net.URL", + "fields": [ + { + "name": "ref" + } + ] + }, + { + "name": "java.nio.Bits", + "methods": [ + { + "name": "unaligned", + "parameterTypes": [] + } + ] + }, + { + "name": "java.nio.Buffer", + "fields": [ + { + "name": "address", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "java.nio.DirectByteBuffer", + "fields": [ + { + "name": "cleaner", + "allowUnsafeAccess": true + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "int" + ] + } + ] + }, + { + "name": "java.security.MessageDigestSpi" + }, + { + "name": "java.sql.Date", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "name": "java.sql.Time", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "name": "java.sql.Timestamp", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "name": "java.time.Duration" + }, + { + "name": "java.time.Instant" + }, + { + "name": "java.time.LocalDate" + }, + { + "name": "java.time.LocalDateTime" + }, + { + "name": "java.time.LocalTime" + }, + { + "name": "java.time.MonthDay" + }, + { + "name": "java.time.OffsetDateTime" + }, + { + "name": "java.time.OffsetTime" + }, + { + "name": "java.time.Period" + }, + { + "name": "java.time.Year" + }, + { + "name": "java.time.YearMonth" + }, + { + "name": "java.time.ZoneId" + }, + { + "name": "java.time.ZoneOffset" + }, + { + "name": "java.time.ZonedDateTime" + }, + { + "name": "java.util.AbstractMap", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "name": "java.util.ArrayList", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "java.util.BitSet", + "allDeclaredFields": true + }, + { + "name": "java.util.HashMap", + "allDeclaredMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "java.util.LinkedHashMap", + "allPublicConstructors": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "java.util.Map", + "allDeclaredMethods": true + }, + { + "name": "java.util.NavigableMap", + "allDeclaredMethods": true + }, + { + "name": "java.util.SortedMap", + "allDeclaredMethods": true + }, + { + "name": "java.util.TreeMap", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.util.Map", + "allPublicConstructors": true + }, + { + "name": "java.util.concurrent.ConcurrentNavigableMap" + }, + { + "name": "java.util.concurrent.ConcurrentSkipListMap" + }, + { + "name": "javax.management.ObjectName", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "org.apace.dubbo.graalvm.demo.DemoService", + "allPublicMethods": true + }, + { + "name": "org.apache.curator.x.discovery.ServiceType", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "org.apache.curator.x.discovery.details.OldServiceInstance", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "org.apache.dubbo.common.CommonScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.URL", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.common.beans.ScopeBeanExtensionInjector", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.compiler.support.AdaptiveCompiler", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.compiler.support.JavassistCompiler", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.compiler.support.JdkCompiler", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.config.Environment", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.common.config.ModuleEnvironment", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.common.config.configcenter.file.FileSystemDynamicConfigurationFactory" + }, + { + "name": "org.apache.dubbo.common.config.configcenter.nop.NopDynamicConfigurationFactory" + }, + { + "name": "org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.extension.inject.SpiExtensionInjector", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.infra.support.EnvironmentAdapter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.lang.ShutdownHookCallbacks", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.common.logger.jcl.JclLoggerAdapter" + }, + { + "name": "org.apache.dubbo.common.logger.jdk.JdkLoggerAdapter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.logger.log4j2.Log4j2LoggerAdapter" + }, + { + "name": "org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapter" + }, + { + "name": "org.apache.dubbo.common.serialize.hessian2.Hessian2Serialization", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.serialize.hessian2.dubbo.DefaultHessian2FactoryInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.serialize.hessian2.dubbo.WhitelistHessian2FactoryInitializer" + }, + { + "name": "org.apache.dubbo.common.status.reporter.FrameworkStatusReportService", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.ThreadPool", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.common.threadpool.ThreadPool$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.manager.DefaultExecutorRepository", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.support.cached.CachedThreadPool", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.support.eager.EagerThreadPool" + }, + { + "name": "org.apache.dubbo.common.threadpool.support.fixed.FixedThreadPool", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.support.limited.LimitedThreadPool" + }, + { + "name": "org.apache.dubbo.common.url.component.URLAddress", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.common.url.component.URLParam", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.common.url.component.param.DefaultDynamicParamSource", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.AbstractConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractInterfaceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractMethodConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractReferenceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractServiceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ApplicationConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "monitor" + }, + { + "name": "registries" + } + ] + }, + { + "name": "org.apache.dubbo.config.ArgumentConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ConfigCenterConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "appExternalConfiguration" + }, + { + "name": "externalConfiguration" + } + ] + }, + { + "name": "org.apache.dubbo.config.ConfigScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ConsumerConfig", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.MethodConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "arguments" + } + ] + }, + { + "name": "org.apache.dubbo.config.ModuleConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "monitor" + }, + { + "name": "registries" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ProtocolConfig", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ProviderConfig", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ReferenceConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "invoker" + } + ] + }, + { + "name": "org.apache.dubbo.config.ReferenceConfigBase", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.RegistryConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ServiceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ServiceConfigBase", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.SslConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "clientKeyCertChainPathStream" + }, + { + "name": "clientPrivateKeyPathStream" + }, + { + "name": "clientTrustCertCollectionPathStream" + }, + { + "name": "serverKeyCertChainPathStream" + }, + { + "name": "serverPrivateKeyPathStream" + }, + { + "name": "serverTrustCertCollectionPathStream" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.context.ConfigManager", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.config.deploy.DefaultApplicationDeployer", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.config.deploy.DefaultModuleDeployer", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.metadata.ServiceInstanceHostPortCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.utils.DefaultConfigValidator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.demo.graalvm.provider.DemoServiceImpl", + "methods": [ + { + "name": "sayHello", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.InstanceMetadataChangedListener", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.metadata.MetadataInfo", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.metadata.MetadataInfo$ServiceInfo", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.metadata.MetadataService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.ArrayTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.CollectionTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.EnumTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.MapTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.model.MethodDefinition", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.model.ServiceDefinition", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.model.TypeDefinition", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.report.MetadataReportInstance", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.report.MetadataScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.MetricsService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.monitor.MonitorService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.monitor.support.MetricsServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorClusterFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorFilter" + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.RegistryFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.registry.RegistryFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.RegistryFactoryWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.registry.RegistryFactory" + ] + } + ] + }, + { + "name": "org.apache.dubbo.registry.RegistryScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.DefaultRegistryClusterIdentifier", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.DefaultServiceDiscoveryFactory" + }, + { + "name": "org.apache.dubbo.registry.client.DefaultServiceInstance$Endpoint", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.ServiceDiscoveryRegistryFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.registry.client.metadata.MetadataServiceURLParamsMetadataCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.ProtocolPortsMetadataCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.store.RemoteMetadataServiceImpl", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.migration.DefaultMigrationAddressComparator", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.migration.MigrationRuleListener", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.integration.RegistryProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.multicast.MulticastRegistryFactory" + }, + { + "name": "org.apache.dubbo.registry.multicast.MulticastServiceDiscoveryFactory" + }, + { + "name": "org.apache.dubbo.registry.support.DefaultProviderFirstParams", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.support.RegistryManager", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.registry.zookeeper.ZookeeperInstance", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "org.apache.dubbo.registry.zookeeper.ZookeeperRegistryFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscoveryFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.Dispatcher", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.remoting.Dispatcher$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.Transporter", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.remoting.Transporter$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.exchange.codec.ExchangeCodec" + }, + { + "name": "org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.telnet.codec.TelnetCodec" + }, + { + "name": "org.apache.dubbo.remoting.transport.codec.TransportCodec" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.all.AllDispatcher", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyClient$1" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyClientHandler", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalDecoder" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalEncoder" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyServer$1" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyServerHandler", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyTransporter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.zookeeper.curator5.Curator5ZookeeperTransporter" + }, + { + "name": "org.apache.dubbo.rpc.Invoker", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.Protocol", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.Protocol$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.ProxyFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.ProxyFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.Cluster", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.Cluster$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.ClusterScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.ConfiguratorFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.ConfiguratorFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.Directory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.RouterFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.RouterFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.configurator.absent.AbsentConfiguratorFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.configurator.override.OverrideConfiguratorFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.DefaultFilterChainBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.Protocol" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.support.ZoneAwareFilter" + }, + { + "name": "org.apache.dubbo.rpc.cluster.governance.DefaultGovernanceRuleRepositoryImpl", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.ConsistentHashLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalance", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.ShortestResponseLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.merger.MergerFactory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.ClusterUtils", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.AccessLogFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ClassLoaderFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.CompatibleFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ContextFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.DeprecatedFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.EchoFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.ExceptionFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.ExecuteLimitFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericImplFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TimeoutFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.condition.config.AppRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.condition.config.ServiceRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.mesh.route.MeshRuleAddressListenerInterceptor", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.mesh.route.MeshRuleRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.mock.MockRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.tag.TagDynamicStateRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.tag.TagRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.tag.TagStaticStateRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.AvailableCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.BroadcastCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.ClusterUtils", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailbackCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailfastCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailoverCluster", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailsafeCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.ForkingCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.MergeableCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.merger.DefaultProviderURLMergeProcessor", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.registry.ZoneAwareCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.cluster.Cluster" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.AccessLogFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ClassLoaderFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.CompatibleFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ContextFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.DeprecatedFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.EchoFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ExceptionFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ExecuteLimitFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericImplFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TimeoutFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TokenFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TpsLimitFilter" + }, + { + "name": "org.apache.dubbo.rpc.listener.DeprecatedInvokerListener" + }, + { + "name": "org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.Protocol" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.Protocol" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.DubboCountCodec", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter" + }, + { + "name": "org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory" + }, + { + "name": "org.apache.dubbo.rpc.proxy.jdk.JdkProxyFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.ProxyFactory" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.service.Destroyable", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.service.EchoService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.service.EchoServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.service.GenericService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.service.GenericServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.support.MockProtocol" + }, + { + "name": "org.apache.log4j.Appender" + }, + { + "name": "org.apache.log4j.Category" + }, + { + "name": "org.apache.log4j.CategoryKey" + }, + { + "name": "org.apache.log4j.ConsoleAppender", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.log4j.Layout", + "allPublicMethods": true + }, + { + "name": "org.apache.log4j.Logger" + }, + { + "name": "org.apache.log4j.PatternLayout", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.log4j.helpers.Loader" + }, + { + "name": "org.apache.log4j.spi.OptionHandler" + }, + { + "name": "org.apache.zookeeper.ClientCnxnSocketNIO", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.misc.Cleaner", + "methods": [ + { + "name": "clean", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.misc.Unsafe", + "fields": [ + { + "name": "theUnsafe" + } + ], + "methods": [ + { + "name": "copyMemory", + "parameterTypes": [ + "java.lang.Object", + "long", + "java.lang.Object", + "long", + "long" + ] + }, + { + "name": "getAndAddLong", + "parameterTypes": [ + "java.lang.Object", + "long", + "long" + ] + }, + { + "name": "getAndSetObject", + "parameterTypes": [ + "java.lang.Object", + "long", + "java.lang.Object" + ] + } + ] + }, + { + "name": "sun.misc.VM", + "methods": [ + { + "name": "maxDirectMemory", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.nio.ch.SelectorImpl", + "fields": [ + { + "name": "publicSelectedKeys" + }, + { + "name": "selectedKeys" + } + ] + }, + { + "name": "sun.security.provider.ConfigFile", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.MD5", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.NativePRNG", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.SHA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.Sun", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + } ] diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/resource-config.json b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/resource-config.json index c42419ab1d..f2febd2190 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/resource-config.json +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/resource-config.json @@ -1,52 +1,58 @@ { - "_comment": "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.", "resources":{ - "includes":[ - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.context.FrameworkExt\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.extension.ExtensionFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.infra.InfraAdapter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.logger.LoggerAdapter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.Serialization\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.hessian2.dubbo.Hessian2FactoryInitializer\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.ThreadPool\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.manager.ExecutorRepository\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.url.component.param.DynamicParamSource\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.ServiceNameMapping\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.WritableMetadataService\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.AddressListener\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.RegistryClusterIdentifier\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceDiscoveryFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.migration.MigrationAddressComparator\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.integration.RegistryProtocolListener\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Codec2\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Dispatcher\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.exchange.Exchanger\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Filter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.InvokerListener\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Protocol\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.ProxyFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.Cluster\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.ConfiguratorFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.LoadBalance\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.ClusterFilter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.governance.GovernanceRuleRepository\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.router.state.StateRouterFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.model.BuiltinServiceDetector\\E"}, - {"pattern":"\\QMETA-INF/services/org.apache.dubbo.common.extension.LoadingStrategy\\E"}, - {"pattern":"\\Qlog4j.properties\\E"}, - {"pattern":"\\Qdubbo.properties\\E"}, - {"pattern":"\\Qorg/apache/dubbo/common/Version.class\\E"}, - {"pattern":"\\Qorg/apache/dubbo/remoting/RemotingException.class\\E"}, - {"pattern":"\\Qorg/apache/dubbo/remoting/Transporters.class\\E"}, - {"pattern":"\\Qorg/apache/dubbo/remoting/exchange/Exchangers.class\\E"}, - {"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"} - ]}, + "includes":[ + {"pattern":"\\QDENY_CLASS\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.compiler.Compiler\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.context.ApplicationExt\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.context.ModuleExt\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.extension.ExtensionInjector\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.infra.InfraAdapter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.logger.LoggerAdapter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.Serialization\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.hessian2.dubbo.Hessian2FactoryInitializer\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.ThreadPool\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.manager.ExecutorRepository\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.url.component.param.DynamicParamSource\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.ServiceNameMapping\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.WritableMetadataService\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.AddressListener\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.ProviderFirstParams\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.RegistryClusterIdentifier\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceDiscoveryFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceInstanceCustomizer\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.migration.MigrationAddressComparator\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.integration.RegistryProtocolListener\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Codec2\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Dispatcher\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.exchange.Exchanger\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Filter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.InvokerListener\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Protocol\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.ProxyFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.Cluster\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.ConfiguratorFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.LoadBalance\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.ProviderURLMergeProcessor\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.ClusterFilter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.governance.GovernanceRuleRepository\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.router.state.StateRouterFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.model.BuiltinServiceDetector\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.model.ScopeModelInitializer\\E"}, + {"pattern":"\\QMETA-INF/services/org.apache.dubbo.common.extension.LoadingStrategy\\E"}, + {"pattern":"\\Qdubbo.properties\\E"}, + {"pattern":"\\Qlog4j.properties\\E"}, + {"pattern":"\\Qorg/apache/dubbo/common/Version.class\\E"}, + {"pattern":"\\Qorg/apache/dubbo/remoting/RemotingException.class\\E"}, + {"pattern":"\\Qorg/apache/dubbo/remoting/Transporters.class\\E"}, + {"pattern":"\\Qorg/apache/dubbo/remoting/exchange/Exchangers.class\\E"} + ]}, "bundles":[] } diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml index f5699b2ebe..f0c9df780b 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml @@ -128,6 +128,7 @@ --no-fallback --initialize-at-build-time=org.slf4j.MDC + --initialize-at-build-time=org.apache.log4j.MDC --initialize-at-build-time=org.slf4j.LoggerFactory --initialize-at-build-time=org.slf4j.impl.StaticLoggerBinder --initialize-at-build-time=org.apache.log4j.helpers.Loader @@ -138,6 +139,7 @@ --initialize-at-build-time=org.slf4j.impl.Log4jLoggerFactory --initialize-at-build-time=org.slf4j.impl.Log4jLoggerAdapter --initialize-at-build-time=org.eclipse.collections.api.factory.Sets + --initialize-at-build-time=io.netty.util.internal.logging.Log4JLogger @@ -152,7 +154,6 @@ --initialize-at-run-time=io.netty.channel.unix.Errors --initialize-at-run-time=io.netty.channel.unix.IovArray --initialize-at-run-time=io.netty.channel.unix.Limits - --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger --initialize-at-run-time=io.netty.channel.unix.Socket --initialize-at-run-time=io.netty.channel.ChannelHandlerMask diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/java/org/apache/dubbo/demo/graalvm/provider/Application.java b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/java/org/apache/dubbo/demo/graalvm/provider/Application.java index 763bee4378..b1b461502b 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/java/org/apache/dubbo/demo/graalvm/provider/Application.java +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/java/org/apache/dubbo/demo/graalvm/provider/Application.java @@ -30,7 +30,8 @@ import java.util.concurrent.CountDownLatch; public class Application { public static void main(String[] args) throws Exception { - System.setProperty("dubbo.application.logger", "jdk"); + System.setProperty("dubbo.application.logger", "log4j"); + System.setProperty("native", "true"); if (isClassic(args)) { startWithExport(); } else { @@ -68,7 +69,16 @@ public class Application { ServiceConfig service = new ServiceConfig<>(); service.setInterface(DemoService.class); service.setRef(new DemoServiceImpl()); - service.setApplication(new ApplicationConfig("dubbo-demo-api-provider")); + + ApplicationConfig applicationConfig = new ApplicationConfig("dubbo-demo-api-provider"); + applicationConfig.setQosEnable(false); + applicationConfig.setCompiler("jdk"); + + Map m = new HashMap<>(1); + m.put("proxy", "jdk"); + applicationConfig.setParameters(m); + + service.setApplication(applicationConfig); service.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181")); service.export(); diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/Log4j.properties b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/Log4j.properties new file mode 100644 index 0000000000..4e90fa24e7 --- /dev/null +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/Log4j.properties @@ -0,0 +1,25 @@ +# +# +# 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. +# +# + + +log4j.rootLogger=error, console + +log4j.appender.console=org.apache.log4j.ConsoleAppender +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern=[%-12d{HH\:mm\:ss.SS}] [%p] %l %m%n diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/reflect-config.json b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/reflect-config.json index 8ec44e31c5..f3dee4e9f5 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/reflect-config.json +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/reflect-config.json @@ -1,1163 +1,2676 @@ [ -{ - "name":"byte[]" -}, -{ - "name":"com.alibaba.fastjson.serializer.ASMSerializer_1_Endpoint", - "methods":[{"name":"","parameterTypes":["com.alibaba.fastjson.serializer.SerializeBeanInfo"] }] -}, -{ - "name":"com.intellij.rt.execution.application.AppMainV2$Agent", - "methods":[{"name":"premain","parameterTypes":["java.lang.String","java.lang.instrument.Instrumentation"] }] -}, -{ - "name":"io.netty.bootstrap.ServerBootstrap$1" -}, -{ - "name":"io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor", - "methods":[ - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] } - ] -}, -{ - "name":"io.netty.buffer.AbstractByteBufAllocator", - "allDeclaredMethods":true -}, -{ - "name":"io.netty.buffer.AbstractReferenceCountedByteBuf", - "fields":[{"name":"refCnt", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.channel.ChannelDuplexHandler", - "methods":[ - {"name":"bind","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"deregister","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"disconnect","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"read","parameterTypes":["io.netty.channel.ChannelHandlerContext"] } - ] -}, -{ - "name":"io.netty.channel.ChannelHandlerAdapter", - "methods":[{"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }] -}, -{ - "name":"io.netty.channel.ChannelInboundHandlerAdapter", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelUnregistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelWritabilityChanged","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] } - ] -}, -{ - "name":"io.netty.channel.ChannelInitializer", - "methods":[ - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] } - ] -}, -{ - "name":"io.netty.channel.ChannelOutboundHandlerAdapter", - "methods":[ - {"name":"bind","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"deregister","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"disconnect","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"read","parameterTypes":["io.netty.channel.ChannelHandlerContext"] } - ] -}, -{ - "name":"io.netty.channel.DefaultChannelPipeline$HeadContext", - "methods":[ - {"name":"bind","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelUnregistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelWritabilityChanged","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, - {"name":"deregister","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"disconnect","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"read","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] } - ] -}, -{ - "name":"io.netty.channel.DefaultChannelPipeline$TailContext", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelUnregistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelWritabilityChanged","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] } - ] -}, -{ - "name":"io.netty.channel.socket.nio.NioServerSocketChannel", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"io.netty.handler.codec.ByteToMessageDecoder", - "methods":[ - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] } - ] -}, -{ - "name":"io.netty.handler.codec.MessageToByteEncoder", - "methods":[{"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] }] -}, -{ - "name":"io.netty.handler.timeout.IdleStateHandler", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRegistered","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] } - ] -}, -{ - "name":"io.netty.util.ReferenceCountUtil", - "allDeclaredMethods":true -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", - "fields":[{"name":"producerLimit", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields", - "fields":[{"name":"consumerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields", - "fields":[{"name":"producerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueConsumerIndexField", - "fields":[{"name":"consumerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerIndexField", - "fields":[{"name":"producerIndex", "allowUnsafeAccess":true}] -}, -{ - "name":"io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerLimitField", - "fields":[{"name":"producerLimit", "allowUnsafeAccess":true}] -}, -{ - "name":"java.beans.Transient" -}, -{ - "name":"java.io.File", - "methods":[{"name":"","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"java.io.Serializable", - "allDeclaredMethods":true -}, -{ - "name":"java.lang.AutoCloseable" -}, -{ - "name":"java.lang.Cloneable", - "allDeclaredMethods":true -}, -{ - "name":"java.lang.Comparable", - "allDeclaredMethods":true -}, -{ - "name":"java.lang.Enum", - "allDeclaredFields":true, - "allDeclaredMethods":true -}, -{ - "name":"java.lang.Integer", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"java.lang.Number", - "allDeclaredFields":true, - "allDeclaredMethods":true -}, -{ - "name":"java.lang.Object", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allPublicMethods":true -}, -{ - "name":"java.lang.Object[]" -}, -{ - "name":"java.lang.StackTraceElement", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"java.lang.String" -}, -{ - "name":"java.lang.String[]" -}, -{ - "name":"java.lang.Thread", - "methods":[{"name":"getContextClassLoader","parameterTypes":[] }] -}, -{ - "name":"java.lang.Throwable", - "fields":[{"name":"detailMessage"}] -}, -{ - "name":"java.lang.annotation.Repeatable", - "methods":[{"name":"value","parameterTypes":[] }] -}, -{ - "name":"java.lang.management.ManagementFactory", - "methods":[{"name":"getRuntimeMXBean","parameterTypes":[] }] -}, -{ - "name":"java.lang.management.RuntimeMXBean", - "methods":[{"name":"getName","parameterTypes":[] }] -}, -{ - "name":"java.math.BigDecimal", - "methods":[{"name":"","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"java.math.BigInteger", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"java.nio.Bits", - "methods":[{"name":"unaligned","parameterTypes":[] }] -}, -{ - "name":"java.nio.Buffer", - "fields":[{"name":"address", "allowUnsafeAccess":true}] -}, -{ - "name":"java.nio.DirectByteBuffer", - "fields":[{"name":"cleaner", "allowUnsafeAccess":true}], - "methods":[{"name":"","parameterTypes":["long","int"] }] -}, -{ - "name":"java.nio.file.Path" -}, -{ - "name":"java.security.MessageDigestSpi" -}, -{ - "name":"java.security.interfaces.RSAPrivateKey" -}, -{ - "name":"java.security.interfaces.RSAPublicKey" -}, -{ - "name":"java.sql.Clob" -}, -{ - "name":"java.sql.Date", - "methods":[{"name":"","parameterTypes":["long"] }] -}, -{ - "name":"java.sql.Time", - "methods":[{"name":"","parameterTypes":["long"] }] -}, -{ - "name":"java.sql.Timestamp", - "methods":[{"name":"","parameterTypes":["long"] }] -}, -{ - "name":"java.time.Duration" -}, -{ - "name":"java.time.Instant" -}, -{ - "name":"java.time.LocalDate" -}, -{ - "name":"java.time.LocalDateTime" -}, -{ - "name":"java.time.LocalTime" -}, -{ - "name":"java.time.MonthDay" -}, -{ - "name":"java.time.OffsetDateTime" -}, -{ - "name":"java.time.OffsetTime" -}, -{ - "name":"java.time.Period" -}, -{ - "name":"java.time.Year" -}, -{ - "name":"java.time.YearMonth" -}, -{ - "name":"java.time.ZoneId" -}, -{ - "name":"java.time.ZoneOffset" -}, -{ - "name":"java.time.ZonedDateTime" -}, -{ - "name":"java.util.AbstractMap", - "allDeclaredFields":true, - "allDeclaredMethods":true -}, -{ - "name":"java.util.BitSet", - "allDeclaredFields":true -}, -{ - "name":"java.util.Date" -}, -{ - "name":"java.util.HashMap", - "allDeclaredMethods":true -}, -{ - "name":"java.util.LinkedHashMap", - "allPublicConstructors":true -}, -{ - "name":"java.util.Map", - "allDeclaredMethods":true -}, -{ - "name":"java.util.NavigableMap", - "allDeclaredMethods":true -}, -{ - "name":"java.util.SortedMap", - "allDeclaredMethods":true -}, -{ - "name":"java.util.TreeMap", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"java.util.concurrent.ConcurrentNavigableMap" -}, -{ - "name":"java.util.concurrent.ConcurrentSkipListMap" -}, -{ - "name":"javax.management.ObjectName", - "methods":[{"name":"","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"javax.security.auth.x500.X500Principal", - "fields":[{"name":"thisX500Name"}], - "methods":[{"name":"","parameterTypes":["sun.security.x509.X500Name"] }] -}, -{ - "name":"org.apace.dubbo.graalvm.demo.DemoService", - "allPublicMethods":true -}, -{ - "name":"org.apache.curator.x.discovery.ServiceType", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"org.apache.curator.x.discovery.details.OldServiceInstance", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"org.apache.dubbo.common.URL", - "allDeclaredFields":true -}, -{ - "name":"org.apache.dubbo.common.compiler.support.AdaptiveCompiler", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.compiler.support.JavassistCompiler", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.compiler.support.JdkCompiler", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.config.Environment", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.config.configcenter.file.FileSystemDynamicConfigurationFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.config.configcenter.nop.NopDynamicConfigurationFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.extension.inject.SpiExtensionInjector", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.infra.support.EnvironmentAdapter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.jcl.JclLoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.jdk.JdkLoggerAdapter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.log4j2.Log4j2LoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.serialize.hessian2.Hessian2Serialization", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.serialize.hessian2.dubbo.DefaultHessian2FactoryInitializer", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.serialize.hessian2.dubbo.WhitelistHessian2FactoryInitializer", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.ThreadPool", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.common.threadpool.ThreadPool$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.manager.DefaultExecutorRepository", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.cached.CachedThreadPool", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.eager.EagerThreadPool", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.fixed.FixedThreadPool", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.threadpool.support.limited.LimitedThreadPool", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.common.url.component.URLAddress", - "allDeclaredFields":true -}, -{ - "name":"org.apache.dubbo.common.url.component.URLParam", - "allDeclaredFields":true -}, -{ - "name":"org.apache.dubbo.common.url.component.param.DefaultDynamicParamSource", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.AbstractConfig", - "allDeclaredFields":true, - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractInterfaceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractMethodConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractReferenceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.AbstractServiceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ApplicationConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ArgumentConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ConfigCenterConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ConsumerConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.MethodConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ModuleConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.ProtocolConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.ProviderConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.RegistryConfig", - "allDeclaredFields":true, - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ServiceConfig", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.ServiceConfigBase", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.config.SslConfig", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.context.ConfigManager", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.config.metadata.ServiceInstanceHostPortCustomizer", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.demo.graalvm.provider.DemoServiceImpl", - "methods":[{"name":"sayHello","parameterTypes":["java.lang.String"] }] -}, -{ - "name":"org.apache.dubbo.metadata.InstanceMetadataChangedListener", - "allDeclaredFields":true -}, -{ - "name":"org.apache.dubbo.metadata.MetadataInfo", - "allDeclaredFields":true -}, -{ - "name":"org.apache.dubbo.metadata.MetadataInfo$ServiceInfo", - "allDeclaredFields":true -}, -{ - "name":"org.apache.dubbo.metadata.MetadataService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.ArrayTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.CollectionTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.EnumTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.builder.MapTypeBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.model.MethodDefinition", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.model.ServiceDefinition", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.metadata.definition.model.TypeDefinition", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.MetricsService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.monitor.MonitorService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.monitor.support.MetricsServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.support.MonitorFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.monitor.support.MonitorServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.RegistryFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.RegistryFactoryWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.registry.RegistryFactory"] }] -}, -{ - "name":"org.apache.dubbo.registry.client.DefaultRegistryClusterIdentifier", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.DefaultServiceDiscoveryFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.DefaultServiceInstance$Endpoint", - "allDeclaredFields":true, - "allPublicFields":true, - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.registry.client.ServiceDiscoveryRegistryFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.MetadataServiceURLParamsMetadataCustomizer", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.ProtocolPortsMetadataCustomizer", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataCustomizer", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.client.migration.MigrationRuleListener", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.integration.RegistryProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.multicast.MulticastRegistryFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.multicast.MulticastServiceDiscoveryFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.zookeeper.ZookeeperInstance", - "allDeclaredFields":true, - "allDeclaredMethods":true, - "allDeclaredConstructors":true -}, -{ - "name":"org.apache.dubbo.registry.zookeeper.ZookeeperRegistryFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscoveryFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.Dispatcher$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.Transporter$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.exchange.codec.ExchangeCodec", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.telnet.codec.TelnetCodec", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.codec.TransportCodec", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.all.AllDispatcher", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalDecoder" -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalEncoder" -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyServer$1" -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyServerHandler", - "methods":[ - {"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, - {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, - {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, - {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] } - ] -}, -{ - "name":"org.apache.dubbo.remoting.transport.netty4.NettyTransporter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.Protocol$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.ProxyFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.ConfiguratorFactory$Adaptive", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.configurator.absent.AbsentConfiguratorFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.configurator.override.OverrideConfiguratorFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.filter.DefaultFilterChainBuilder", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.Protocol"] }] -}, -{ - "name":"org.apache.dubbo.rpc.cluster.governance.DefaultGovernanceRuleRepositoryImpl", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.AccessLogFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ClassLoaderFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.CompatibleFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ContextFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.DeprecatedFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.EchoFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ExceptionFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.ExecuteLimitFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.GenericFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.GenericImplFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.TimeoutFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.TokenFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.filter.TpsLimitFilter", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.model.ServiceRepository", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.Protocol"] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.DubboCountCodec", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.proxy.jdk.JdkProxyFactory", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":["org.apache.dubbo.rpc.ProxyFactory"] }] -}, -{ - "name":"org.apache.dubbo.rpc.service.EchoService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.rpc.service.EchoServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.service.GenericService", - "allPublicMethods":true -}, -{ - "name":"org.apache.dubbo.rpc.service.GenericServiceDetector", - "allPublicMethods":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.dubbo.rpc.support.MockProtocol", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"org.apache.log4j.Category" -}, -{ - "name":"org.apache.log4j.CategoryKey" -}, -{ - "name":"org.apache.log4j.Logger" -}, -{ - "name":"org.apache.log4j.helpers.Loader" -}, -{ - "name":"org.apache.zookeeper.ClientCnxnSocketNIO", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.misc.Cleaner", - "methods":[{"name":"clean","parameterTypes":[] }] -}, -{ - "name":"sun.misc.Unsafe", - "fields":[{"name":"theUnsafe"}], - "methods":[ - {"name":"copyMemory","parameterTypes":["java.lang.Object","long","java.lang.Object","long","long"] }, - {"name":"getAndAddLong","parameterTypes":["java.lang.Object","long","long"] }, - {"name":"getAndSetObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] } - ] -}, -{ - "name":"sun.misc.VM", - "methods":[{"name":"maxDirectMemory","parameterTypes":[] }] -}, -{ - "name":"sun.nio.ch.SelectorImpl", - "fields":[ - {"name":"publicSelectedKeys"}, - {"name":"selectedKeys"} - ] -}, -{ - "name":"sun.security.pkcs.SignerInfo[]" -}, -{ - "name":"sun.security.provider.ConfigFile", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.MD5", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.NativePRNG", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.SHA", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.SHA2$SHA256", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.Sun", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.provider.X509Factory", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.rsa.RSAKeyFactory$Legacy", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.rsa.RSASignature$SHA256withRSA", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.rsa.SunRsaSign", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "name":"sun.security.util.ObjectIdentifier" -}, -{ - "name":"sun.security.x509.AuthorityInfoAccessExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.AuthorityKeyIdentifierExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.BasicConstraintsExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.CRLDistributionPointsExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.CertificateExtensions" -}, -{ - "name":"sun.security.x509.CertificatePoliciesExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.ExtendedKeyUsageExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.KeyUsageExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.SubjectAlternativeNameExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -}, -{ - "name":"sun.security.x509.SubjectKeyIdentifierExtension", - "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] -} + { + "name": "boolean", + "allPublicMethods": true + }, + { + "name": "com.intellij.rt.execution.application.AppMainV2$Agent", + "methods": [ + { + "name": "premain", + "parameterTypes": [ + "java.lang.String", + "java.lang.instrument.Instrumentation" + ] + } + ] + }, + { + "name": "io.netty.bootstrap.ServerBootstrap$1" + }, + { + "name": "io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor", + "methods": [ + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + } + ] + }, + { + "name": "io.netty.buffer.AbstractByteBufAllocator", + "allDeclaredMethods": true + }, + { + "name": "io.netty.buffer.AbstractReferenceCountedByteBuf", + "fields": [ + { + "name": "refCnt", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.channel.ChannelDuplexHandler", + "methods": [ + { + "name": "bind", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "close", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "connect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "deregister", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "disconnect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "flush", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "read", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelHandlerAdapter", + "methods": [ + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelInboundHandlerAdapter", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelUnregistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelWritabilityChanged", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelInitializer", + "methods": [ + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + } + ] + }, + { + "name": "io.netty.channel.ChannelOutboundHandlerAdapter", + "methods": [ + { + "name": "bind", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "close", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "connect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "deregister", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "disconnect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "flush", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "read", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + } + ] + }, + { + "name": "io.netty.channel.DefaultChannelPipeline$HeadContext", + "methods": [ + { + "name": "bind", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelUnregistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelWritabilityChanged", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "close", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "connect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.net.SocketAddress", + "java.net.SocketAddress", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "deregister", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "disconnect", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "io.netty.channel.ChannelPromise" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "flush", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "read", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "io.netty.channel.DefaultChannelPipeline$TailContext", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelUnregistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelWritabilityChanged", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + } + ] + }, + { + "name": "io.netty.channel.socket.nio.NioServerSocketChannel", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "io.netty.channel.socket.nio.NioSocketChannel", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "io.netty.handler.codec.ByteToMessageDecoder", + "methods": [ + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + } + ] + }, + { + "name": "io.netty.handler.codec.MessageToByteEncoder", + "methods": [ + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "io.netty.handler.timeout.IdleStateHandler", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "channelReadComplete", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRegistered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "io.netty.util.ReferenceCountUtil", + "allDeclaredMethods": true + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", + "fields": [ + { + "name": "producerLimit", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields", + "fields": [ + { + "name": "consumerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields", + "fields": [ + { + "name": "producerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueConsumerIndexField", + "fields": [ + { + "name": "consumerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerIndexField", + "fields": [ + { + "name": "producerIndex", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerLimitField", + "fields": [ + { + "name": "producerLimit", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "java.io.File", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "java.io.Serializable", + "allDeclaredMethods": true + }, + { + "name": "java.lang.Cloneable", + "allDeclaredMethods": true + }, + { + "name": "java.lang.Comparable", + "allDeclaredMethods": true + }, + { + "name": "java.lang.Enum", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "name": "java.lang.Integer", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.lang.Number", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "name": "java.lang.Object", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allPublicMethods": true + }, + { + "name": "java.lang.StackTraceElement", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.lang.String" + }, + { + "name": "java.lang.String[]" + }, + { + "name": "java.lang.Thread", + "methods": [ + { + "name": "getContextClassLoader", + "parameterTypes": [] + } + ] + }, + { + "name": "java.lang.Throwable", + "fields": [ + { + "name": "detailMessage" + }, + { + "name": "stackTrace" + } + ] + }, + { + "name": "java.lang.management.ManagementFactory", + "methods": [ + { + "name": "getRuntimeMXBean", + "parameterTypes": [] + } + ] + }, + { + "name": "java.lang.management.RuntimeMXBean", + "methods": [ + { + "name": "getName", + "parameterTypes": [] + } + ] + }, + { + "name": "java.math.BigDecimal", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "java.math.BigInteger", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.net.URL", + "fields": [ + { + "name": "ref" + } + ] + }, + { + "name": "java.nio.Bits", + "methods": [ + { + "name": "unaligned", + "parameterTypes": [] + } + ] + }, + { + "name": "java.nio.Buffer", + "fields": [ + { + "name": "address", + "allowUnsafeAccess": true + } + ] + }, + { + "name": "java.nio.DirectByteBuffer", + "fields": [ + { + "name": "cleaner", + "allowUnsafeAccess": true + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "int" + ] + } + ] + }, + { + "name": "java.security.MessageDigestSpi" + }, + { + "name": "java.sql.Date", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "name": "java.sql.Time", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "name": "java.sql.Timestamp", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "name": "java.time.Duration" + }, + { + "name": "java.time.Instant" + }, + { + "name": "java.time.LocalDate" + }, + { + "name": "java.time.LocalDateTime" + }, + { + "name": "java.time.LocalTime" + }, + { + "name": "java.time.MonthDay" + }, + { + "name": "java.time.OffsetDateTime" + }, + { + "name": "java.time.OffsetTime" + }, + { + "name": "java.time.Period" + }, + { + "name": "java.time.Year" + }, + { + "name": "java.time.YearMonth" + }, + { + "name": "java.time.ZoneId" + }, + { + "name": "java.time.ZoneOffset" + }, + { + "name": "java.time.ZonedDateTime" + }, + { + "name": "java.util.AbstractMap", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "name": "java.util.ArrayList", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "java.util.BitSet", + "allDeclaredFields": true + }, + { + "name": "java.util.HashMap", + "allDeclaredMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "java.util.LinkedHashMap", + "allPublicConstructors": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "java.util.Map", + "allDeclaredMethods": true + }, + { + "name": "java.util.NavigableMap", + "allDeclaredMethods": true + }, + { + "name": "java.util.SortedMap", + "allDeclaredMethods": true + }, + { + "name": "java.util.TreeMap", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "java.util.Map", + "allPublicConstructors": true + }, + { + "name": "java.util.concurrent.ConcurrentNavigableMap" + }, + { + "name": "java.util.concurrent.ConcurrentSkipListMap" + }, + { + "name": "javax.management.ObjectName", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "org.apace.dubbo.graalvm.demo.DemoService", + "allPublicMethods": true + }, + { + "name": "org.apache.curator.x.discovery.ServiceType", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "org.apache.curator.x.discovery.details.OldServiceInstance", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "org.apache.dubbo.common.CommonScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.URL", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.common.beans.ScopeBeanExtensionInjector", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.compiler.support.AdaptiveCompiler", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.compiler.support.JavassistCompiler", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.compiler.support.JdkCompiler", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.config.Environment", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.common.config.ModuleEnvironment", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.common.config.configcenter.file.FileSystemDynamicConfigurationFactory" + }, + { + "name": "org.apache.dubbo.common.config.configcenter.nop.NopDynamicConfigurationFactory" + }, + { + "name": "org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.extension.inject.SpiExtensionInjector", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.infra.support.EnvironmentAdapter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.lang.ShutdownHookCallbacks", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.common.logger.jcl.JclLoggerAdapter" + }, + { + "name": "org.apache.dubbo.common.logger.jdk.JdkLoggerAdapter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.logger.log4j2.Log4j2LoggerAdapter" + }, + { + "name": "org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapter" + }, + { + "name": "org.apache.dubbo.common.serialize.hessian2.Hessian2Serialization", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.serialize.hessian2.dubbo.DefaultHessian2FactoryInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.serialize.hessian2.dubbo.WhitelistHessian2FactoryInitializer" + }, + { + "name": "org.apache.dubbo.common.status.reporter.FrameworkStatusReportService", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.ThreadPool", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.common.threadpool.ThreadPool$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.manager.DefaultExecutorRepository", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.support.cached.CachedThreadPool", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.support.eager.EagerThreadPool" + }, + { + "name": "org.apache.dubbo.common.threadpool.support.fixed.FixedThreadPool", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.common.threadpool.support.limited.LimitedThreadPool" + }, + { + "name": "org.apache.dubbo.common.url.component.URLAddress", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.common.url.component.URLParam", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.common.url.component.param.DefaultDynamicParamSource", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.AbstractConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractInterfaceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractMethodConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractReferenceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.AbstractServiceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ApplicationConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "monitor" + }, + { + "name": "registries" + } + ] + }, + { + "name": "org.apache.dubbo.config.ArgumentConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ConfigCenterConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "appExternalConfiguration" + }, + { + "name": "externalConfiguration" + } + ] + }, + { + "name": "org.apache.dubbo.config.ConfigScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ConsumerConfig", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.MethodConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "arguments" + } + ] + }, + { + "name": "org.apache.dubbo.config.ModuleConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "monitor" + }, + { + "name": "registries" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ProtocolConfig", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ProviderConfig", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.ReferenceConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "invoker" + } + ] + }, + { + "name": "org.apache.dubbo.config.ReferenceConfigBase", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.RegistryConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ServiceConfig", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.ServiceConfigBase", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.config.SslConfig", + "allPublicMethods": true, + "fields": [ + { + "name": "clientKeyCertChainPathStream" + }, + { + "name": "clientPrivateKeyPathStream" + }, + { + "name": "clientTrustCertCollectionPathStream" + }, + { + "name": "serverKeyCertChainPathStream" + }, + { + "name": "serverPrivateKeyPathStream" + }, + { + "name": "serverTrustCertCollectionPathStream" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.context.ConfigManager", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.config.deploy.DefaultApplicationDeployer", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.config.deploy.DefaultModuleDeployer", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.metadata.ServiceInstanceHostPortCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.config.utils.DefaultConfigValidator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.demo.graalvm.provider.DemoServiceImpl", + "methods": [ + { + "name": "sayHello", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.InstanceMetadataChangedListener", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.metadata.MetadataInfo", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.metadata.MetadataInfo$ServiceInfo", + "allDeclaredFields": true + }, + { + "name": "org.apache.dubbo.metadata.MetadataService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.ArrayTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.CollectionTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.EnumTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.builder.MapTypeBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.model.MethodDefinition", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.model.ServiceDefinition", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.definition.model.TypeDefinition", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.report.MetadataReportInstance", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.metadata.report.MetadataScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.MetricsService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.monitor.MonitorService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.monitor.support.MetricsServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorClusterFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorFilter" + }, + { + "name": "org.apache.dubbo.monitor.support.MonitorServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.RegistryFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.registry.RegistryFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.RegistryFactoryWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.registry.RegistryFactory" + ] + } + ] + }, + { + "name": "org.apache.dubbo.registry.RegistryScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.DefaultRegistryClusterIdentifier", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.DefaultServiceDiscoveryFactory" + }, + { + "name": "org.apache.dubbo.registry.client.DefaultServiceInstance$Endpoint", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.ServiceDiscoveryRegistryFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.registry.client.metadata.MetadataServiceURLParamsMetadataCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.ProtocolPortsMetadataCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataCustomizer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.metadata.store.RemoteMetadataServiceImpl", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.migration.DefaultMigrationAddressComparator", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.client.migration.MigrationRuleListener", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.integration.RegistryProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.multicast.MulticastRegistryFactory" + }, + { + "name": "org.apache.dubbo.registry.multicast.MulticastServiceDiscoveryFactory" + }, + { + "name": "org.apache.dubbo.registry.support.DefaultProviderFirstParams", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.support.RegistryManager", + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.registry.zookeeper.ZookeeperInstance", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "name": "org.apache.dubbo.registry.zookeeper.ZookeeperRegistryFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscoveryFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.Dispatcher", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.remoting.Dispatcher$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.Transporter", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.remoting.Transporter$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.exchange.codec.ExchangeCodec" + }, + { + "name": "org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.telnet.codec.TelnetCodec" + }, + { + "name": "org.apache.dubbo.remoting.transport.codec.TransportCodec" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.all.AllDispatcher", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyClient$1" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyClientHandler", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalDecoder" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyCodecAdapter$InternalEncoder" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyServer$1" + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyServerHandler", + "methods": [ + { + "name": "channelActive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelInactive", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext" + ] + }, + { + "name": "channelRead", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "exceptionCaught", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Throwable" + ] + }, + { + "name": "userEventTriggered", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object" + ] + }, + { + "name": "write", + "parameterTypes": [ + "io.netty.channel.ChannelHandlerContext", + "java.lang.Object", + "io.netty.channel.ChannelPromise" + ] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.transport.netty4.NettyTransporter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.remoting.zookeeper.curator5.Curator5ZookeeperTransporter" + }, + { + "name": "org.apache.dubbo.rpc.Invoker", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.Protocol", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.Protocol$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.ProxyFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.ProxyFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.Cluster", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.Cluster$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.ClusterScopeModelInitializer", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.ConfiguratorFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.ConfiguratorFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.Directory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.RouterFactory", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.RouterFactory$Adaptive", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.configurator.absent.AbsentConfiguratorFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.configurator.override.OverrideConfiguratorFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.DefaultFilterChainBuilder", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.Protocol" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.filter.support.ZoneAwareFilter" + }, + { + "name": "org.apache.dubbo.rpc.cluster.governance.DefaultGovernanceRuleRepositoryImpl", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.ConsistentHashLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalance", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.loadbalance.ShortestResponseLoadBalance" + }, + { + "name": "org.apache.dubbo.rpc.cluster.merger.MergerFactory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.ClusterUtils", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.AccessLogFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ClassLoaderFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.CompatibleFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ContextFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.DeprecatedFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.EchoFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.ExceptionFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.ExecuteLimitFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericImplFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TimeoutFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.condition.config.AppRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.condition.config.ServiceRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory" + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.mesh.route.MeshRuleAddressListenerInterceptor", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.mesh.route.MeshRuleRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.mock.MockRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.tag.TagDynamicStateRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.tag.TagRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.router.tag.TagStaticStateRouterFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.AvailableCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.BroadcastCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.ClusterUtils", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailbackCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailfastCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailoverCluster", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.FailsafeCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.ForkingCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.MergeableCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.merger.DefaultProviderURLMergeProcessor", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.registry.ZoneAwareCluster" + }, + { + "name": "org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.cluster.Cluster" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.filter.AccessLogFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ClassLoaderFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.CompatibleFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ContextFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.DeprecatedFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.EchoFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ExceptionFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.ExecuteLimitFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.GenericImplFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TimeoutFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TokenFilter" + }, + { + "name": "org.apache.dubbo.rpc.filter.TpsLimitFilter" + }, + { + "name": "org.apache.dubbo.rpc.listener.DeprecatedInvokerListener" + }, + { + "name": "org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.Protocol" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.Protocol" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.DubboCountCodec", + "allPublicMethods": true, + "allPublicConstructors": true + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter" + }, + { + "name": "org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory" + }, + { + "name": "org.apache.dubbo.rpc.proxy.jdk.JdkProxyFactory", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.apache.dubbo.rpc.ProxyFactory" + ] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.service.Destroyable", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.service.EchoService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.service.EchoServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.service.GenericService", + "allPublicMethods": true + }, + { + "name": "org.apache.dubbo.rpc.service.GenericServiceDetector", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.dubbo.rpc.support.MockProtocol" + }, + { + "name": "org.apache.log4j.Appender" + }, + { + "name": "org.apache.log4j.Category" + }, + { + "name": "org.apache.log4j.CategoryKey" + }, + { + "name": "org.apache.log4j.ConsoleAppender", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.log4j.Layout", + "allPublicMethods": true + }, + { + "name": "org.apache.log4j.Logger" + }, + { + "name": "org.apache.log4j.PatternLayout", + "allPublicMethods": true, + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "org.apache.log4j.helpers.Loader" + }, + { + "name": "org.apache.log4j.spi.OptionHandler" + }, + { + "name": "org.apache.zookeeper.ClientCnxnSocketNIO", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.misc.Cleaner", + "methods": [ + { + "name": "clean", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.misc.Unsafe", + "fields": [ + { + "name": "theUnsafe" + } + ], + "methods": [ + { + "name": "copyMemory", + "parameterTypes": [ + "java.lang.Object", + "long", + "java.lang.Object", + "long", + "long" + ] + }, + { + "name": "getAndAddLong", + "parameterTypes": [ + "java.lang.Object", + "long", + "long" + ] + }, + { + "name": "getAndSetObject", + "parameterTypes": [ + "java.lang.Object", + "long", + "java.lang.Object" + ] + } + ] + }, + { + "name": "sun.misc.VM", + "methods": [ + { + "name": "maxDirectMemory", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.nio.ch.SelectorImpl", + "fields": [ + { + "name": "publicSelectedKeys" + }, + { + "name": "selectedKeys" + } + ] + }, + { + "name": "sun.security.provider.ConfigFile", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.MD5", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.NativePRNG", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.SHA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "sun.security.provider.Sun", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + } ] diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/resource-config.json b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/resource-config.json index 7738933bab..f2febd2190 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/resource-config.json +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/resource-config.json @@ -1,45 +1,58 @@ { - "_comment": "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.", "resources":{ - "includes":[ - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.compiler.Compiler\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.context.FrameworkExt\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.extension.ExtensionFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.infra.InfraAdapter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.logger.LoggerAdapter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.Serialization\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.hessian2.dubbo.Hessian2FactoryInitializer\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.ThreadPool\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.manager.ExecutorRepository\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.url.component.param.DynamicParamSource\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.ServiceNameMapping\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.WritableMetadataService\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.RegistryClusterIdentifier\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceDiscoveryFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceInstanceCustomizer\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.integration.RegistryProtocolListener\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Codec2\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Dispatcher\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.exchange.Exchanger\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Filter\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Protocol\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.ProxyFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.ConfiguratorFactory\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.governance.GovernanceRuleRepository\\E"}, - {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.model.BuiltinServiceDetector\\E"}, - {"pattern":"\\QMETA-INF/services/org.apache.dubbo.common.extension.LoadingStrategy\\E"}, - {"pattern":"\\Qorg/apache/dubbo/common/Version.class\\E"}, - {"pattern":"\\Qdubbo.properties\\E"}, - {"pattern":"\\Qorg/apache/dubbo/remoting/RemotingException.class\\E"}, - {"pattern":"\\Qorg/apache/dubbo/remoting/Transporters.class\\E"}, - {"pattern":"\\Qorg/apache/dubbo/remoting/exchange/Exchangers.class\\E"}, - {"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"} - ]}, + "includes":[ + {"pattern":"\\QDENY_CLASS\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.compiler.Compiler\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.context.ApplicationExt\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.context.ModuleExt\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.extension.ExtensionInjector\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.infra.InfraAdapter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.logger.LoggerAdapter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.Serialization\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.serialize.hessian2.dubbo.Hessian2FactoryInitializer\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.ThreadPool\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.threadpool.manager.ExecutorRepository\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.common.url.component.param.DynamicParamSource\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.ServiceNameMapping\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.WritableMetadataService\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.AddressListener\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.ProviderFirstParams\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.RegistryClusterIdentifier\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceDiscoveryFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceInstanceCustomizer\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.client.migration.MigrationAddressComparator\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.registry.integration.RegistryProtocolListener\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Codec2\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Dispatcher\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.exchange.Exchanger\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Filter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.InvokerListener\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.Protocol\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.ProxyFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.Cluster\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.ConfiguratorFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.LoadBalance\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.ProviderURLMergeProcessor\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.ClusterFilter\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.governance.GovernanceRuleRepository\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.router.state.StateRouterFactory\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.model.BuiltinServiceDetector\\E"}, + {"pattern":"\\QMETA-INF/dubbo/internal/org.apache.dubbo.rpc.model.ScopeModelInitializer\\E"}, + {"pattern":"\\QMETA-INF/services/org.apache.dubbo.common.extension.LoadingStrategy\\E"}, + {"pattern":"\\Qdubbo.properties\\E"}, + {"pattern":"\\Qlog4j.properties\\E"}, + {"pattern":"\\Qorg/apache/dubbo/common/Version.class\\E"}, + {"pattern":"\\Qorg/apache/dubbo/remoting/RemotingException.class\\E"}, + {"pattern":"\\Qorg/apache/dubbo/remoting/Transporters.class\\E"}, + {"pattern":"\\Qorg/apache/dubbo/remoting/exchange/Exchangers.class\\E"} + ]}, "bundles":[] } diff --git a/dubbo-native/src/main/java/org/apache/dubbo/common/serialize/Serialization$Adaptive.java b/dubbo-native/src/main/java/org/apache/dubbo/common/serialize/Serialization$Adaptive.java index 57fe01b22e..088c1bafb4 100644 --- a/dubbo-native/src/main/java/org/apache/dubbo/common/serialize/Serialization$Adaptive.java +++ b/dubbo-native/src/main/java/org/apache/dubbo/common/serialize/Serialization$Adaptive.java @@ -18,9 +18,6 @@ package org.apache.dubbo.common.serialize; import org.apache.dubbo.rpc.model.ScopeModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; public class Serialization$Adaptive implements org.apache.dubbo.common.serialize.Serialization { -public java.lang.String getContentType() { -throw new UnsupportedOperationException("The method public abstract java.lang.String org.apache.dubbo.common.serialize.Serialization.getContentType() of interface org.apache.dubbo.common.serialize.Serialization is not adaptive method!"); -} public byte getContentTypeId() { throw new UnsupportedOperationException("The method public abstract byte org.apache.dubbo.common.serialize.Serialization.getContentTypeId() of interface org.apache.dubbo.common.serialize.Serialization is not adaptive method!"); } @@ -42,4 +39,7 @@ ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apa org.apache.dubbo.common.serialize.Serialization extension = (org.apache.dubbo.common.serialize.Serialization)scopeModel.getExtensionLoader(org.apache.dubbo.common.serialize.Serialization.class).getExtension(extName); return extension.deserialize(arg0, arg1); } +public java.lang.String getContentType() { +throw new UnsupportedOperationException("The method public abstract java.lang.String org.apache.dubbo.common.serialize.Serialization.getContentType() of interface org.apache.dubbo.common.serialize.Serialization is not adaptive method!"); +} } diff --git a/dubbo-native/src/main/java/org/apache/dubbo/rpc/Protocol$Adaptive.java b/dubbo-native/src/main/java/org/apache/dubbo/rpc/Protocol$Adaptive.java index 766bd2190a..fe16e162f3 100644 --- a/dubbo-native/src/main/java/org/apache/dubbo/rpc/Protocol$Adaptive.java +++ b/dubbo-native/src/main/java/org/apache/dubbo/rpc/Protocol$Adaptive.java @@ -18,12 +18,6 @@ package org.apache.dubbo.rpc; import org.apache.dubbo.rpc.model.ScopeModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; public class Protocol$Adaptive implements org.apache.dubbo.rpc.Protocol { -public void destroy() { -throw new UnsupportedOperationException("The method public abstract void org.apache.dubbo.rpc.Protocol.destroy() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!"); -} -public int getDefaultPort() { -throw new UnsupportedOperationException("The method public abstract int org.apache.dubbo.rpc.Protocol.getDefaultPort() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!"); -} public org.apache.dubbo.rpc.Exporter export(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException { if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null"); if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null"); @@ -46,4 +40,10 @@ return extension.refer(arg0, arg1); public java.util.List getServers() { throw new UnsupportedOperationException("The method public default java.util.List org.apache.dubbo.rpc.Protocol.getServers() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!"); } +public void destroy() { +throw new UnsupportedOperationException("The method public abstract void org.apache.dubbo.rpc.Protocol.destroy() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!"); +} +public int getDefaultPort() { +throw new UnsupportedOperationException("The method public abstract int org.apache.dubbo.rpc.Protocol.getDefaultPort() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!"); +} } diff --git a/dubbo-native/src/main/java/org/apache/dubbo/rpc/ProxyFactory$Adaptive.java b/dubbo-native/src/main/java/org/apache/dubbo/rpc/ProxyFactory$Adaptive.java index 101925d8ab..297287fdbb 100644 --- a/dubbo-native/src/main/java/org/apache/dubbo/rpc/ProxyFactory$Adaptive.java +++ b/dubbo-native/src/main/java/org/apache/dubbo/rpc/ProxyFactory$Adaptive.java @@ -18,15 +18,14 @@ package org.apache.dubbo.rpc; import org.apache.dubbo.rpc.model.ScopeModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; public class ProxyFactory$Adaptive implements org.apache.dubbo.rpc.ProxyFactory { -public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException { -if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null"); -if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null"); -org.apache.dubbo.common.URL url = arg0.getUrl(); +public org.apache.dubbo.rpc.Invoker getInvoker(java.lang.Object arg0, java.lang.Class arg1, org.apache.dubbo.common.URL arg2) throws org.apache.dubbo.rpc.RpcException { +if (arg2 == null) throw new IllegalArgumentException("url == null"); +org.apache.dubbo.common.URL url = arg2; String extName = url.getParameter("proxy", "javassist"); if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])"); ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class); org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName); -return extension.getProxy(arg0); +return extension.getInvoker(arg0, arg1, arg2); } public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0, boolean arg1) throws org.apache.dubbo.rpc.RpcException { if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null"); @@ -38,13 +37,14 @@ ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apa org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName); return extension.getProxy(arg0, arg1); } -public org.apache.dubbo.rpc.Invoker getInvoker(java.lang.Object arg0, java.lang.Class arg1, org.apache.dubbo.common.URL arg2) throws org.apache.dubbo.rpc.RpcException { -if (arg2 == null) throw new IllegalArgumentException("url == null"); -org.apache.dubbo.common.URL url = arg2; +public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException { +if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null"); +if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null"); +org.apache.dubbo.common.URL url = arg0.getUrl(); String extName = url.getParameter("proxy", "javassist"); if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])"); ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class); org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName); -return extension.getInvoker(arg0, arg1, arg2); +return extension.getProxy(arg0); } } diff --git a/dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/Cluster$Adaptive.java b/dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/Cluster$Adaptive.java index 70487526bf..5f801663a6 100644 --- a/dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/Cluster$Adaptive.java +++ b/dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/Cluster$Adaptive.java @@ -18,8 +18,13 @@ package org.apache.dubbo.rpc.cluster; import org.apache.dubbo.rpc.model.ScopeModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; public class Cluster$Adaptive implements org.apache.dubbo.rpc.cluster.Cluster { -@Override -public org.apache.dubbo.rpc.Invoker join(org.apache.dubbo.rpc.cluster.Directory arg0, boolean buildFilterChain) throws org.apache.dubbo.rpc.RpcException { +public org.apache.dubbo.rpc.cluster.Cluster getCluster(org.apache.dubbo.rpc.model.ScopeModel arg0, java.lang.String arg1) { +throw new UnsupportedOperationException("The method public static org.apache.dubbo.rpc.cluster.Cluster org.apache.dubbo.rpc.cluster.Cluster.getCluster(org.apache.dubbo.rpc.model.ScopeModel,java.lang.String) of interface org.apache.dubbo.rpc.cluster.Cluster is not adaptive method!"); +} +public org.apache.dubbo.rpc.cluster.Cluster getCluster(org.apache.dubbo.rpc.model.ScopeModel arg0, java.lang.String arg1, boolean arg2) { +throw new UnsupportedOperationException("The method public static org.apache.dubbo.rpc.cluster.Cluster org.apache.dubbo.rpc.cluster.Cluster.getCluster(org.apache.dubbo.rpc.model.ScopeModel,java.lang.String,boolean) of interface org.apache.dubbo.rpc.cluster.Cluster is not adaptive method!"); +} +public org.apache.dubbo.rpc.Invoker join(org.apache.dubbo.rpc.cluster.Directory arg0, boolean arg1) throws org.apache.dubbo.rpc.RpcException { if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.cluster.Directory argument == null"); if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.cluster.Directory argument getUrl() == null"); org.apache.dubbo.common.URL url = arg0.getUrl(); @@ -27,12 +32,6 @@ String extName = url.getParameter("cluster", "failover"); if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.cluster.Cluster) name from url (" + url.toString() + ") use keys([cluster])"); ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.cluster.Cluster.class); org.apache.dubbo.rpc.cluster.Cluster extension = (org.apache.dubbo.rpc.cluster.Cluster)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.cluster.Cluster.class).getExtension(extName); -return extension.join(arg0, buildFilterChain); -} -public org.apache.dubbo.rpc.cluster.Cluster getCluster(java.lang.String arg0) { -throw new UnsupportedOperationException("The method public static org.apache.dubbo.rpc.cluster.Cluster org.apache.dubbo.rpc.cluster.Cluster.getCluster(java.lang.String) of interface org.apache.dubbo.rpc.cluster.Cluster is not adaptive method!"); -} -public org.apache.dubbo.rpc.cluster.Cluster getCluster(java.lang.String arg0, boolean arg1) { -throw new UnsupportedOperationException("The method public static org.apache.dubbo.rpc.cluster.Cluster org.apache.dubbo.rpc.cluster.Cluster.getCluster(java.lang.String,boolean) of interface org.apache.dubbo.rpc.cluster.Cluster is not adaptive method!"); +return extension.join(arg0, arg1); } } diff --git a/dubbo-native/src/main/resources/Dockerfile b/dubbo-native/src/main/resources/Dockerfile new file mode 100644 index 0000000000..34d97f33c3 --- /dev/null +++ b/dubbo-native/src/main/resources/Dockerfile @@ -0,0 +1,30 @@ +# 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. + +# Create graalvm environment for running dubbo native projects + +FROM maven:3-jdk-11-slim + +WORKDIR /opt + +RUN apt-get update \ + && apt-get install -y gcc zlib1g-dev libstdc++-10-dev \ + && curl -L -o /opt/graalvm-ce.tar.gz "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.1.0/graalvm-ce-java11-linux-amd64-21.1.0.tar.gz" \ + && tar -xf graalvm-ce.tar.gz \ + && /opt/graalvm-ce-java11-21.1.0/bin/gu install native-image \ + && rm graalvm-ce.tar.gz + +ENV PATH=/opt/graalvm-ce-java11-21.1.0/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV JAVA_HOME=/opt/graalvm-ce-java11-21.1.0