This is an automated email from the ASF dual-hosted git repository.

technoboy pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 0e0b5596b90 [improve][broker] Skip loading the NAR packages if not 
configured (#21867)
0e0b5596b90 is described below

commit 0e0b5596b90d56d24e33dc98f00a9b74bc9e78af
Author: Yunze Xu <[email protected]>
AuthorDate: Wed Jan 10 12:25:14 2024 +0800

    [improve][broker] Skip loading the NAR packages if not configured (#21867)
---
 .../pulsar/broker/web/plugin/servlet/AdditionalServlets.java      | 8 ++++++--
 .../org/apache/pulsar/broker/intercept/BrokerInterceptors.java    | 5 ++++-
 .../java/org/apache/pulsar/broker/protocol/ProtocolHandlers.java  | 4 ++++
 .../java/org/apache/pulsar/proxy/extensions/ProxyExtensions.java  | 4 ++++
 4 files changed, 18 insertions(+), 3 deletions(-)

diff --git 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServlets.java
 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServlets.java
index 0046d28afa4..f6fc42ff0fc 100644
--- 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServlets.java
+++ 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServlets.java
@@ -79,12 +79,16 @@ public class AdditionalServlets implements AutoCloseable {
             return null;
         }
 
+        String[] additionalServletsList = additionalServlets.split(",");
+        if (additionalServletsList.length == 0) {
+            return null;
+        }
+
         AdditionalServletDefinitions definitions =
                 
AdditionalServletUtils.searchForServlets(additionalServletDirectory
                         , narExtractionDirectory);
         ImmutableMap.Builder<String, AdditionalServletWithClassLoader> builder 
= ImmutableMap.builder();
 
-        String[] additionalServletsList = additionalServlets.split(",");
         for (String servletName : additionalServletsList) {
             AdditionalServletMetadata definition = 
definitions.servlets().get(servletName);
             if (null == definition) {
@@ -106,7 +110,7 @@ public class AdditionalServlets implements AutoCloseable {
         }
 
         Map<String, AdditionalServletWithClassLoader> servlets = 
builder.build();
-        if (servlets != null && !servlets.isEmpty()) {
+        if (!servlets.isEmpty()) {
             return new AdditionalServlets(servlets);
         }
 
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptors.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptors.java
index cef3f0eb609..30d1874a972 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptors.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptors.java
@@ -59,6 +59,9 @@ public class BrokerInterceptors implements BrokerInterceptor {
      * @return the collection of broker event interceptor
      */
     public static BrokerInterceptor load(ServiceConfiguration conf) throws 
IOException {
+        if (conf.getBrokerInterceptors().isEmpty()) {
+            return null;
+        }
         BrokerInterceptorDefinitions definitions =
                 
BrokerInterceptorUtils.searchForInterceptors(conf.getBrokerInterceptorsDirectory(),
                         conf.getNarExtractionDirectory());
@@ -87,7 +90,7 @@ public class BrokerInterceptors implements BrokerInterceptor {
         });
 
         Map<String, BrokerInterceptorWithClassLoader> interceptors = 
builder.build();
-        if (interceptors != null && !interceptors.isEmpty()) {
+        if (!interceptors.isEmpty()) {
             return new BrokerInterceptors(interceptors);
         } else {
             return null;
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlers.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlers.java
index 42a82b2de76..4059ccf5f26 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlers.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlers.java
@@ -24,6 +24,7 @@ import io.netty.channel.socket.SocketChannel;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -51,6 +52,9 @@ public class ProtocolHandlers implements AutoCloseable {
      * @return the collection of protocol handlers
      */
     public static ProtocolHandlers load(ServiceConfiguration conf) throws 
IOException {
+        if (conf.getMessagingProtocols().isEmpty()) {
+            return new ProtocolHandlers(Collections.emptyMap());
+        }
         ProtocolHandlerDefinitions definitions =
                 ProtocolHandlerUtils.searchForHandlers(
                         conf.getProtocolHandlerDirectory(), 
conf.getNarExtractionDirectory());
diff --git 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensions.java
 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensions.java
index 75059fc0d25..95a3bf032fe 100644
--- 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensions.java
+++ 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensions.java
@@ -24,6 +24,7 @@ import io.netty.channel.socket.SocketChannel;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -49,6 +50,9 @@ public class ProxyExtensions implements AutoCloseable {
      * @return the collection of extensions
      */
     public static ProxyExtensions load(ProxyConfiguration conf) throws 
IOException {
+        if (conf.getProxyExtensions().isEmpty()) {
+            return new ProxyExtensions(Collections.emptyMap());
+        }
         ExtensionsDefinitions definitions =
                 ProxyExtensionsUtils.searchForExtensions(
                         conf.getProxyExtensionsDirectory(), 
conf.getNarExtractionDirectory());

Reply via email to