diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java index 010cfe9b40c..32718edf5e2 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java @@ -132,15 +132,7 @@ public RecyclerFactory defaultRecyclerFactory( .findFirst() .orElse(null); if (matchingProvider != null) { - @Nullable final RecyclerFactory factory = matchingProvider.createForEnvironment(environment); - if (factory != null) { - return factory; - } else { - statusLogger.error( - "Configured recycler factory provider `{}` is not applicable for the current environment! Available recycler factory providers: {}. Will choose the first one available for the current environment.", - providerName, - providerNames); - } + return matchingProvider.createForEnvironment(environment); } else { statusLogger.error( "Configured recycler factory provider `{}` is not found! Available recycler factory providers: {}. Will choose the first one available for the current environment.", @@ -152,7 +144,6 @@ public RecyclerFactory defaultRecyclerFactory( // Fallback to the first available provider return providers.stream() .map(provider -> provider.createForEnvironment(environment)) - .filter(Objects::nonNull) .findFirst() .orElseThrow(() -> new IllegalStateException( "None of the available recycler factory providers are found to be available for the current environment: " diff --git a/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/RecyclerFactoryProvider.java b/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/RecyclerFactoryProvider.java index 26ebd5900e9..4512c90e1ab 100644 --- a/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/RecyclerFactoryProvider.java +++ b/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/RecyclerFactoryProvider.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.kit.recycler; -import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.logging.log4j.kit.env.PropertyEnvironment; import org.apache.logging.log4j.kit.recycler.internal.DummyRecyclerFactoryProvider; @@ -51,14 +50,9 @@ default int getOrder() { /** * Creates a recycler factory for the provided environment. - *

- * The return value can be null indicating that the recycler factory is not available for the provided environment. - * For instance, the provider of a {@link ThreadLocal}-based recycler factory can return null if the environment is of a web application. - *

* * @param environment an environment - * @return either a recycler factory instance, or null, if the associated recycler factory is not available for the given environment + * @return a recycler factory instance for the given environment */ - @Nullable RecyclerFactory createForEnvironment(PropertyEnvironment environment); } diff --git a/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/internal/QueueingRecyclerFactoryProvider.java b/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/internal/QueueingRecyclerFactoryProvider.java index e124575db32..08fe068778c 100644 --- a/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/internal/QueueingRecyclerFactoryProvider.java +++ b/log4j-kit/src/main/java/org/apache/logging/log4j/kit/recycler/internal/QueueingRecyclerFactoryProvider.java @@ -49,7 +49,6 @@ public String getName() { @Override public RecyclerFactory createForEnvironment(final PropertyEnvironment environment) { requireNonNull(environment, "environment"); - final int capacity = environment.getProperty(RecyclerProperties.class).capacity(); return new QueueingRecyclerFactory(capacity); } diff --git a/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java b/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java index 98b00bf37b8..985f5251279 100644 --- a/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java +++ b/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java @@ -37,15 +37,15 @@ private RecyclerFactoryTestUtil() {} if (capacity != null) { properties.put("recycler.capacity", capacity.toString()); } - final PropertyEnvironment env = new TestPropertyEnvironment(properties); + final PropertyEnvironment environment = new TestPropertyEnvironment(properties); return ServiceLoaderUtil.safeStream( RecyclerFactoryProvider.class, ServiceLoader.load( RecyclerFactoryProvider.class, RecyclerFactoryTestUtil.class.getClassLoader()), StatusLogger.getLogger()) - .filter(p -> factory.equals(p.getName())) + .filter(factoryProvider -> factory.equals(factoryProvider.getName())) .findFirst() - .map(p -> p.createForEnvironment(env)) + .map(factoryProvider -> factoryProvider.createForEnvironment(environment)) .orElse(null); } }