This is an automated email from the ASF dual-hosted git repository.
apolovtsev pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new aa093c18034 IGNITE-28009 Remove redundant ServiceLoaderModulesProvider
(#7681)
aa093c18034 is described below
commit aa093c180341325bbd513ce7e7b12ffd1256ca26
Author: Ivan Zlenko <[email protected]>
AuthorDate: Fri Feb 27 14:58:28 2026 +0500
IGNITE-28009 Remove redundant ServiceLoaderModulesProvider (#7681)
---
.../config/Ignite3ConfigurationUtils.java | 22 +---------
.../configuration/generator/DefaultsGenerator.java | 19 +-------
.../org/apache/ignite/internal/app/IgniteImpl.java | 16 +------
.../configuration/ConfigurationModules.java | 22 ++++++++++
.../ServiceLoaderModulesProvider.java | 46 -------------------
.../configuration/ConfigurationModulesTest.java | 22 ++++++++++
.../ServiceLoaderModulesProviderTest.java | 51 ----------------------
.../ConfigurationCompatibilityTest.java | 35 +++++----------
.../ignite/internal/BaseIgniteRestartTest.java | 16 +------
9 files changed, 59 insertions(+), 190 deletions(-)
diff --git
a/migration-tools/modules/migration-tools-commons/src/main/java/org/apache/ignite/migrationtools/config/Ignite3ConfigurationUtils.java
b/migration-tools/modules/migration-tools-commons/src/main/java/org/apache/ignite/migrationtools/config/Ignite3ConfigurationUtils.java
index 3044478c19b..b3335174700 100644
---
a/migration-tools/modules/migration-tools-commons/src/main/java/org/apache/ignite/migrationtools/config/Ignite3ConfigurationUtils.java
+++
b/migration-tools/modules/migration-tools-commons/src/main/java/org/apache/ignite/migrationtools/config/Ignite3ConfigurationUtils.java
@@ -18,7 +18,6 @@
package org.apache.ignite.migrationtools.config;
import java.nio.file.Path;
-import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.lang3.reflect.FieldUtils;
@@ -31,7 +30,6 @@ import org.apache.ignite3.configuration.validation.Validator;
import org.apache.ignite3.internal.configuration.ConfigurationModules;
import org.apache.ignite3.internal.configuration.ConfigurationRegistry;
import org.apache.ignite3.internal.configuration.ConfigurationTreeGenerator;
-import org.apache.ignite3.internal.configuration.ServiceLoaderModulesProvider;
import
org.apache.ignite3.internal.configuration.storage.LocalFileConfigurationStorage;
import
org.apache.ignite3.internal.configuration.validation.ConfigurationValidator;
import
org.apache.ignite3.internal.configuration.validation.ConfigurationValidatorImpl;
@@ -67,7 +65,7 @@ public class Ignite3ConfigurationUtils {
* @param includeDefaults Include defaults.
*/
public static ConfigurationRegistry loadNodeConfiguration(Path cfgPath,
boolean includeDefaults) {
- return loadConfigurations(cfgPath, loadConfigurationModules().local(),
includeDefaults);
+ return loadConfigurations(cfgPath,
ConfigurationModules.create(null).local(), includeDefaults);
}
/**
@@ -79,7 +77,7 @@ public class Ignite3ConfigurationUtils {
public static ConfigurationRegistry loadClusterConfiguration(Path cfgPath,
boolean includeDefaults) {
// Hack so that it passes the validation
// TODO: This is another hack that needs to be cleaned. We don't
really need the ConfigurationRegistry.
- var distributedModule = loadConfigurationModules().distributed();
+ var distributedModule =
ConfigurationModules.create(null).distributed();
for (RootKey<?, ?, ?> key : distributedModule.rootKeys()) {
try {
FieldUtils.writeDeclaredField(key, "storageType",
ConfigurationType.LOCAL, true);
@@ -122,20 +120,4 @@ public class Ignite3ConfigurationUtils {
nodeConfigRegistry.startAsync(new ComponentContext()).join();
return nodeConfigRegistry;
}
-
- /**
- * Loads all the configuration modules in the main classloader.
- */
- private static ConfigurationModules loadConfigurationModules() {
- // TODO: Copied
- var modulesProvider = new ServiceLoaderModulesProvider();
- List<ConfigurationModule> modules = modulesProvider.modules(null);
-
- if (modules.isEmpty()) {
- throw new IllegalStateException("No configuration modules were
loaded, this means Ignite cannot start. "
- + "Please make sure that the classloader for loading
services is correct.");
- }
-
- return new ConfigurationModules(modules);
- }
}
diff --git
a/modules/runner/src/defaultsGenerator/java/org/apache/ignite/internal/configuration/generator/DefaultsGenerator.java
b/modules/runner/src/defaultsGenerator/java/org/apache/ignite/internal/configuration/generator/DefaultsGenerator.java
index 332e5575254..b3de927cc96 100644
---
a/modules/runner/src/defaultsGenerator/java/org/apache/ignite/internal/configuration/generator/DefaultsGenerator.java
+++
b/modules/runner/src/defaultsGenerator/java/org/apache/ignite/internal/configuration/generator/DefaultsGenerator.java
@@ -21,9 +21,7 @@ import static
org.apache.ignite.internal.util.CompletableFutures.nullCompletedFu
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.apache.ignite.configuration.ConfigurationModule;
import org.apache.ignite.configuration.KeyIgnorer;
import org.apache.ignite.configuration.RootKey;
import org.apache.ignite.configuration.annotation.ConfigurationType;
@@ -31,13 +29,11 @@ import
org.apache.ignite.internal.configuration.ConfigurationChanger;
import
org.apache.ignite.internal.configuration.ConfigurationChanger.ConfigurationUpdateListener;
import org.apache.ignite.internal.configuration.ConfigurationModules;
import org.apache.ignite.internal.configuration.ConfigurationTreeGenerator;
-import org.apache.ignite.internal.configuration.ServiceLoaderModulesProvider;
import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
import
org.apache.ignite.internal.configuration.storage.LocalFileConfigurationStorage;
import org.apache.ignite.internal.configuration.tree.InnerNode;
import
org.apache.ignite.internal.configuration.validation.ConfigurationValidator;
import
org.apache.ignite.internal.configuration.validation.ConfigurationValidatorImpl;
-import org.jetbrains.annotations.Nullable;
/**
* A generator of the default local configuration file.
@@ -79,8 +75,7 @@ public class DefaultsGenerator {
* This uses fragments of cluster initialization from {@code IgniteImpl}
class to set up local configuration framework.
*/
private static ConfigurationChanger createConfigurationChanger(Path
configPath) {
-
- ConfigurationModules modules =
loadConfigurationModules(DefaultsGenerator.class.getClassLoader());
+ ConfigurationModules modules =
ConfigurationModules.create(DefaultsGenerator.class.getClassLoader());
ConfigurationTreeGenerator localConfigurationGenerator = new
ConfigurationTreeGenerator(
modules.local().rootKeys(),
@@ -110,16 +105,4 @@ public class DefaultsGenerator {
}
};
}
-
- private static ConfigurationModules loadConfigurationModules(@Nullable
ClassLoader classLoader) {
- var modulesProvider = new ServiceLoaderModulesProvider();
- List<ConfigurationModule> modules =
modulesProvider.modules(classLoader);
-
- if (modules.isEmpty()) {
- throw new IllegalStateException("No configuration modules were
loaded. "
- + "Please make sure that the classloader for loading
services is correct.");
- }
-
- return new ConfigurationModules(modules);
- }
}
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
index eaa1c794cac..05f981603ae 100644
---
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
+++
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
@@ -65,7 +65,6 @@ import
org.apache.ignite.client.handler.configuration.ClientConnectorConfigurati
import
org.apache.ignite.client.handler.configuration.ClientConnectorExtensionConfiguration;
import org.apache.ignite.compute.IgniteCompute;
import org.apache.ignite.configuration.ConfigurationDynamicDefaultsPatcher;
-import org.apache.ignite.configuration.ConfigurationModule;
import org.apache.ignite.configuration.KeyIgnorer;
import org.apache.ignite.internal.catalog.CatalogManager;
import org.apache.ignite.internal.catalog.CatalogManagerImpl;
@@ -110,7 +109,6 @@ import
org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.ConfigurationTreeGenerator;
import org.apache.ignite.internal.configuration.JdbcPortProviderImpl;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
-import org.apache.ignite.internal.configuration.ServiceLoaderModulesProvider;
import
org.apache.ignite.internal.configuration.SuggestionsClusterExtensionConfiguration;
import org.apache.ignite.internal.configuration.SuggestionsConfiguration;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
@@ -563,7 +561,7 @@ public class IgniteImpl implements Ignite {
nodeProperties = new NodePropertiesImpl(vaultMgr);
- ConfigurationModules modules =
loadConfigurationModules(serviceProviderClassLoader);
+ ConfigurationModules modules =
ConfigurationModules.create(serviceProviderClassLoader);
ConfigurationTreeGenerator localConfigurationGenerator = new
ConfigurationTreeGenerator(
modules.local().rootKeys(),
@@ -1482,18 +1480,6 @@ public class IgniteImpl implements Ignite {
return serializationRegistry;
}
- private static ConfigurationModules loadConfigurationModules(@Nullable
ClassLoader classLoader) {
- var modulesProvider = new ServiceLoaderModulesProvider();
- List<ConfigurationModule> modules =
modulesProvider.modules(classLoader);
-
- if (modules.isEmpty()) {
- throw new IllegalStateException("No configuration modules were
loaded, this means Ignite cannot start. "
- + "Please make sure that the classloader for loading
services is correct.");
- }
-
- return new ConfigurationModules(modules);
- }
-
/**
* Starts ignite node.
*
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ConfigurationModules.java
b/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ConfigurationModules.java
index 509dd4ae1d2..9b1132b8aac 100644
---
a/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ConfigurationModules.java
+++
b/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ConfigurationModules.java
@@ -21,8 +21,11 @@ import static java.util.stream.Collectors.toUnmodifiableList;
import java.util.Collection;
import java.util.List;
+import java.util.ServiceLoader;
+import java.util.ServiceLoader.Provider;
import org.apache.ignite.configuration.ConfigurationModule;
import org.apache.ignite.configuration.annotation.ConfigurationType;
+import org.jetbrains.annotations.Nullable;
/**
* An ensemble of {@link ConfigurationModule}s used to easily pick node-local
and cluster-wide configuration
@@ -66,4 +69,23 @@ public class ConfigurationModules {
.collect(toUnmodifiableList());
return new CompoundModule(type, modulesOfGivenType);
}
+
+ /**
+ * Creates instance of the {@link ConfigurationModules} using provided
{@link ClassLoader}.
+ *
+ * @param classLoader the class loader to use.
+ * @return Configuration modules.
+ */
+ public static ConfigurationModules create(@Nullable ClassLoader
classLoader) {
+ List<ConfigurationModule> modules =
ServiceLoader.load(ConfigurationModule.class, classLoader).stream()
+ .map(Provider::get)
+ .collect(toUnmodifiableList());
+
+ if (modules.isEmpty()) {
+ throw new IllegalStateException("No configuration modules were
loaded. "
+ + "Please make sure that the classloader for loading
services is correct.");
+ }
+
+ return new ConfigurationModules(modules);
+ }
}
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ServiceLoaderModulesProvider.java
b/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ServiceLoaderModulesProvider.java
deleted file mode 100644
index 0ae104532b3..00000000000
---
a/modules/runner/src/main/java/org/apache/ignite/internal/configuration/ServiceLoaderModulesProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.ignite.internal.configuration;
-
-import static java.util.stream.Collectors.toUnmodifiableList;
-
-import java.util.List;
-import java.util.ServiceLoader;
-import java.util.ServiceLoader.Provider;
-import org.apache.ignite.configuration.ConfigurationModule;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Provides {@link ConfigurationModule}s using {@link ServiceLoader} mechanism.
- * Uses {@link ConfigurationModule} interface to query the ServiceLoader.
- *
- * @see ConfigurationModule
- */
-public class ServiceLoaderModulesProvider {
- /**
- * Loads modules using {@link ServiceLoader} mechanism.
- *
- * @param classLoader the class loader to use
- * @return modules
- */
- public List<ConfigurationModule> modules(@Nullable ClassLoader
classLoader) {
- return ServiceLoader.load(ConfigurationModule.class,
classLoader).stream()
- .map(Provider::get)
- .collect(toUnmodifiableList());
- }
-}
diff --git
a/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ConfigurationModulesTest.java
b/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ConfigurationModulesTest.java
index 2603db94c0e..43a3467d139 100644
---
a/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ConfigurationModulesTest.java
+++
b/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ConfigurationModulesTest.java
@@ -21,15 +21,21 @@ import static
org.apache.ignite.configuration.annotation.ConfigurationType.DISTR
import static
org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.Matchers.greaterThan;
+import static org.hamcrest.Matchers.is;
import static org.mockito.Mockito.when;
import java.util.List;
import java.util.Set;
+import java.util.stream.Stream;
import org.apache.ignite.configuration.ConfigurationModule;
import org.apache.ignite.configuration.RootKey;
import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
@@ -80,4 +86,20 @@ class ConfigurationModulesTest extends
BaseIgniteAbstractTest {
assertThat(modules.distributed().rootKeys(),
containsInAnyOrder(rootKeyC, rootKeyD));
}
+
+ @ParameterizedTest
+ @MethodSource("classLoaderSource")
+ void createdUsingClassLoader(ClassLoader classLoader) {
+ ConfigurationModules modules =
ConfigurationModules.create(classLoader);
+
+ assertThat(modules.local().schemaExtensions().size(),
is(greaterThan(0)));
+ assertThat(modules.distributed().schemaExtensions().size(),
is(greaterThan(0)));
+ }
+
+ private static Stream<Arguments> classLoaderSource() {
+ return Stream.of(
+ Arguments.of((ClassLoader) null),
+ Arguments.of(ConfigurationModulesTest.class.getClassLoader())
+ );
+ }
}
diff --git
a/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ServiceLoaderModulesProviderTest.java
b/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ServiceLoaderModulesProviderTest.java
deleted file mode 100644
index 967cb7b1f4a..00000000000
---
a/modules/runner/src/test/java/org/apache/ignite/internal/configuration/ServiceLoaderModulesProviderTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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.ignite.internal.configuration;
-
-import static java.util.stream.Collectors.toList;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.hasSize;
-
-import java.util.List;
-import org.apache.ignite.configuration.ConfigurationModule;
-import org.junit.jupiter.api.Test;
-
-/**
- * Tests for {@link ServiceLoaderModulesProvider}.
- */
-class ServiceLoaderModulesProviderTest {
- private final ServiceLoaderModulesProvider provider = new
ServiceLoaderModulesProvider();
-
- @Test
- void loadsModulesDefinedAsServicesInMetaInf() {
- List<ConfigurationModule> testModules =
provider.modules(getClass().getClassLoader()).stream()
- .filter(module ->
module.getClass().equals(TestConfigurationModule.class))
- .collect(toList());
-
- assertThat(testModules, hasSize(1));
- }
-
- @Test
- void loadsModulesWhenClassLoaderIsNull() {
- List<ConfigurationModule> testModules = provider.modules(null).stream()
- .filter(module ->
module.getClass().equals(TestConfigurationModule.class))
- .collect(toList());
-
- assertThat(testModules, hasSize(1));
- }
-}
diff --git
a/modules/runner/src/test/java/org/apache/ignite/internal/configuration/compatibility/ConfigurationCompatibilityTest.java
b/modules/runner/src/test/java/org/apache/ignite/internal/configuration/compatibility/ConfigurationCompatibilityTest.java
index d6b78c30cb1..19a3d698304 100644
---
a/modules/runner/src/test/java/org/apache/ignite/internal/configuration/compatibility/ConfigurationCompatibilityTest.java
+++
b/modules/runner/src/test/java/org/apache/ignite/internal/configuration/compatibility/ConfigurationCompatibilityTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.configuration.compatibility;
+import static java.util.stream.Collectors.toUnmodifiableSet;
import static
org.apache.ignite.internal.configuration.compatibility.framework.ConfigurationSnapshotManager.loadSnapshotFromResource;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -28,15 +29,15 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Enumeration;
-import java.util.HashSet;
import java.util.List;
+import java.util.ServiceLoader;
+import java.util.ServiceLoader.Provider;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.ignite.configuration.ConfigurationModule;
import org.apache.ignite.configuration.RootKey;
import org.apache.ignite.internal.configuration.ConfigurationModules;
-import org.apache.ignite.internal.configuration.ServiceLoaderModulesProvider;
import
org.apache.ignite.internal.configuration.compatibility.framework.ConfigNode;
import
org.apache.ignite.internal.configuration.compatibility.framework.ConfigNodeSerializer;
import
org.apache.ignite.internal.configuration.compatibility.framework.ConfigurationSnapshotManager;
@@ -47,7 +48,6 @@ import
org.apache.ignite.internal.configuration.compatibility.framework.Configur
import org.apache.ignite.internal.testframework.IgniteAbstractTest;
import org.apache.ignite.internal.util.io.IgniteUnsafeDataInput;
import org.apache.ignite.internal.util.io.IgniteUnsafeDataOutput;
-import org.jetbrains.annotations.Nullable;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
@@ -108,7 +108,12 @@ public class ConfigurationCompatibilityTest extends
IgniteAbstractTest {
@MethodSource("getSnapshots")
void testConfigurationCompatibility(String fileName) throws IOException {
List<ConfigNode> currentMetadata = loadCurrentConfiguration();
- Set<ConfigurationModule> allModules = allModules();
+
+ ClassLoader classLoader =
ConfigurationCompatibilityTest.class.getClassLoader();
+ Set<ConfigurationModule> allModules =
ServiceLoader.load(ConfigurationModule.class, classLoader).stream()
+ .map(Provider::get)
+ .collect(toUnmodifiableSet());
+
List<ConfigNode> snapshotMetadata =
loadSnapshotFromResource(SNAPSHOTS_RESOURCE_LOCATION + fileName);
ComparisonContext ctx = ComparisonContext.create(allModules);
@@ -116,15 +121,8 @@ public class ConfigurationCompatibilityTest extends
IgniteAbstractTest {
ConfigurationTreeComparator.ensureCompatible(snapshotMetadata,
currentMetadata, ctx);
}
- private static Set<ConfigurationModule> allModules() {
- var modulesProvider = new ServiceLoaderModulesProvider();
- List<ConfigurationModule> modules =
modulesProvider.modules(ConfigurationCompatibilityTest.class.getClassLoader());
-
- return new HashSet<>(modules);
- }
-
static List<ConfigNode> loadCurrentConfiguration() {
- ConfigurationModules modules =
loadConfigurationModules(ConfigurationCompatibilityTest.class.getClassLoader());
+ ConfigurationModules modules =
ConfigurationModules.create(ConfigurationCompatibilityTest.class.getClassLoader());
ConfigurationModule local = modules.local();
ConfigurationModule distributed = modules.distributed();
@@ -147,19 +145,6 @@ public class ConfigurationCompatibilityTest extends
IgniteAbstractTest {
return root;
}
- /** Load configuration modules from classpath. */
- private static ConfigurationModules loadConfigurationModules(@Nullable
ClassLoader classLoader) {
- var modulesProvider = new ServiceLoaderModulesProvider();
- List<ConfigurationModule> modules =
modulesProvider.modules(classLoader);
-
- if (modules.isEmpty()) {
- throw new IllegalStateException("No configuration modules were
loaded, this means Ignite cannot start. "
- + "Please make sure that the classloader for loading
services is correct.");
- }
-
- return new ConfigurationModules(modules);
- }
-
/**
* List directory contents for a resource folder. Not recursive. Works for
regular files and also JARs.
*/
diff --git
a/modules/runner/src/testFixtures/java/org/apache/ignite/internal/BaseIgniteRestartTest.java
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/BaseIgniteRestartTest.java
index b7b38ad0b80..6d1e128b3d0 100644
---
a/modules/runner/src/testFixtures/java/org/apache/ignite/internal/BaseIgniteRestartTest.java
+++
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/BaseIgniteRestartTest.java
@@ -45,7 +45,6 @@ import java.util.stream.IntStream;
import java.util.stream.Stream;
import org.apache.ignite.IgniteServer;
import org.apache.ignite.InitParameters;
-import org.apache.ignite.configuration.ConfigurationModule;
import org.apache.ignite.internal.app.IgniteImpl;
import org.apache.ignite.internal.close.ManuallyCloseable;
import
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
@@ -55,7 +54,6 @@ import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImp
import org.apache.ignite.internal.configuration.ConfigurationModules;
import org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.ConfigurationTreeGenerator;
-import org.apache.ignite.internal.configuration.ServiceLoaderModulesProvider;
import
org.apache.ignite.internal.configuration.storage.DistributedConfigurationStorage;
import org.apache.ignite.internal.hlc.HybridClock;
import org.apache.ignite.internal.lang.IgniteInternalException;
@@ -234,19 +232,7 @@ public abstract class BaseIgniteRestartTest extends
IgniteAbstractTest {
* @return Configuration modules.
*/
public static ConfigurationModules loadConfigurationModules(IgniteLogger
log, ClassLoader classLoader) {
- var modulesProvider = new ServiceLoaderModulesProvider();
- List<ConfigurationModule> modules =
modulesProvider.modules(classLoader);
-
- if (log.isInfoEnabled()) {
- log.info("Configuration modules loaded: {}", modules);
- }
-
- if (modules.isEmpty()) {
- throw new IllegalStateException("No configuration modules were
loaded, this means Ignite cannot start. "
- + "Please make sure that the classloader for loading
services is correct.");
- }
-
- var configModules = new ConfigurationModules(modules);
+ ConfigurationModules configModules =
ConfigurationModules.create(classLoader);
if (log.isInfoEnabled()) {
log.info("Local root keys: {}", configModules.local().rootKeys());