You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2020/08/31 16:24:55 UTC
[ignite] 02/03: Revert "IGNITE-12682
IgniteMessageFactoryImpl.registerCustom() method is removed as potentially
dangerous"
This is an automated email from the ASF dual-hosted git repository.
agoncharuk pushed a commit to branch ignite-2.9-revert-12568
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 3d57f23a614595d246fc70c276ca8347ba868148
Author: Alexey Goncharuk <al...@gmail.com>
AuthorDate: Mon Aug 31 19:02:59 2020 +0300
Revert "IGNITE-12682 IgniteMessageFactoryImpl.registerCustom() method is removed as potentially dangerous"
This reverts commit 2c428d53
---
.../communication/IgniteMessageFactoryImpl.java | 26 ++++++
.../GridManagerLocalMessageListenerSelfTest.java | 30 ++-----
.../GridCommunicationSendMessageSelfTest.java | 31 ++-----
.../MessageDirectTypeIdConflictTest.java | 96 ++++++++++++++++++++--
.../GridCacheConditionalDeploymentSelfTest.java | 32 ++------
.../ignite/plugin/PluginConfigurationTest.java | 92 ++++++++++++++++++++-
.../GridAbstractCommunicationSelfTest.java | 19 ++---
.../communication/GridCacheMessageSelfTest.java | 49 +++++------
...pCommunicationSpiConcurrentConnectSelfTest.java | 21 ++---
...idTcpCommunicationSpiMultithreadedSelfTest.java | 18 +---
...GridTcpCommunicationSpiRecoveryAckSelfTest.java | 21 ++---
.../GridTcpCommunicationSpiRecoverySelfTest.java | 21 ++---
...TcpCommunicationRecoveryAckClosureSelfTest.java | 21 ++---
.../tcp/TcpCommunicationStatisticsTest.java | 30 ++-----
.../ignite/testframework/GridSpiTestContext.java | 34 ++++----
15 files changed, 309 insertions(+), 232 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
index 957ef7c..eb89043 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
@@ -20,6 +20,8 @@ package org.apache.ignite.internal.managers.communication;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
import org.apache.ignite.IgniteException;
@@ -28,6 +30,7 @@ import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.TestOnly;
/**
* Message factory implementation which is responsible for instantiation of all communication messages.
@@ -39,6 +42,9 @@ public class IgniteMessageFactoryImpl implements IgniteMessageFactory {
/** Array size. */
private static final int ARR_SIZE = 1 << Short.SIZE;
+ /** Custom messages registry. Used for test purposes. */
+ private static final Map<Short, Supplier<Message>> CUSTOM = new ConcurrentHashMap<>();
+
/** Message suppliers. */
private final Supplier<Message>[] msgSuppliers = (Supplier<Message>[]) Array.newInstance(Supplier.class, ARR_SIZE);
@@ -115,6 +121,9 @@ public class IgniteMessageFactoryImpl implements IgniteMessageFactory {
Supplier<Message> supplier = msgSuppliers[directTypeToIndex(directType)];
if (supplier == null)
+ supplier = CUSTOM.get(directType);
+
+ if (supplier == null)
throw new IgniteException("Invalid message type: " + directType);
return supplier.get();
@@ -137,4 +146,21 @@ public class IgniteMessageFactoryImpl implements IgniteMessageFactory {
return (short)res;
}
+
+ /**
+ * Registers factory for custom message. Used for test purposes.
+ *
+ * @param type Message type.
+ * @param c Message producer.
+ *
+ * @deprecated Should be removed. Please don't use this method anymore.
+ * Consider using of plugin with own message types.
+ */
+ @TestOnly
+ @Deprecated
+ public static void registerCustom(short type, Supplier<Message> c) {
+ assert c != null;
+
+ CUSTOM.put(type, c);
+ }
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerLocalMessageListenerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerLocalMessageListenerSelfTest.java
index 9b20690..6dd103e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerLocalMessageListenerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerLocalMessageListenerSelfTest.java
@@ -23,13 +23,8 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.managers.communication.GridIoUserMessage;
+import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.lang.IgniteBiPredicate;
-import org.apache.ignite.plugin.AbstractTestPluginProvider;
-import org.apache.ignite.plugin.ExtensionRegistry;
-import org.apache.ignite.plugin.PluginContext;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpi;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiContext;
@@ -50,12 +45,14 @@ public class GridManagerLocalMessageListenerSelfTest extends GridCommonAbstractT
/** */
private static final short DIRECT_TYPE = 210;
+ static {
+ IgniteMessageFactoryImpl.registerCustom(DIRECT_TYPE, GridIoUserMessage::new);
+ }
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration c = super.getConfiguration(igniteInstanceName);
- c.setPluginProviders(new TestPluginProvider());
-
TcpCommunicationSpi commSpi = new TcpCommunicationSpi();
c.setCommunicationSpi(commSpi);
@@ -210,21 +207,4 @@ public class GridManagerLocalMessageListenerSelfTest extends GridCommonAbstractT
});
}
}
-
- /** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
- /** {@inheritDoc} */
- @Override public String name() {
- return "TEST_PLUGIN";
- }
-
- /** {@inheritDoc} */
- @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) {
- registry.registerExtension(MessageFactory.class, new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(DIRECT_TYPE, GridIoUserMessage::new);
- }
- });
- }
- }
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridCommunicationSendMessageSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridCommunicationSendMessageSelfTest.java
index f7f929e..0a75cf5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridCommunicationSendMessageSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridCommunicationSendMessageSelfTest.java
@@ -21,13 +21,7 @@ import java.nio.ByteBuffer;
import java.util.UUID;
import java.util.concurrent.CountDownLatch;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.plugin.AbstractTestPluginProvider;
-import org.apache.ignite.plugin.ExtensionRegistry;
-import org.apache.ignite.plugin.PluginContext;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
@@ -51,12 +45,16 @@ public class GridCommunicationSendMessageSelfTest extends GridCommonAbstractTest
/** */
private static final short DIRECT_TYPE_OVER_BYTE = 1000;
+ static {
+ IgniteMessageFactoryImpl.registerCustom(DIRECT_TYPE, TestMessage::new);
+
+ IgniteMessageFactoryImpl.registerCustom(DIRECT_TYPE_OVER_BYTE, TestOverByteIdMessage::new);
+ }
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration c = super.getConfiguration(igniteInstanceName);
- c.setPluginProviders(new TestPluginProvider());
-
TcpCommunicationSpi commSpi = new TcpCommunicationSpi();
c.setCommunicationSpi(commSpi);
@@ -214,21 +212,4 @@ public class GridCommunicationSendMessageSelfTest extends GridCommonAbstractTest
}
}
- /** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
- /** {@inheritDoc} */
- @Override public String name() {
- return "TEST_PLUGIN";
- }
-
- /** {@inheritDoc} */
- @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) {
- registry.registerExtension(MessageFactory.class, new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(DIRECT_TYPE, TestMessage::new);
- factory.register(DIRECT_TYPE_OVER_BYTE, TestOverByteIdMessage::new);
- }
- });
- }
- }
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java
index e112915..6046f4a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java
@@ -17,13 +17,22 @@
package org.apache.ignite.internal.managers.communication;
+import java.io.Serializable;
import java.nio.ByteBuffer;
import java.util.concurrent.Callable;
+import java.util.UUID;
+
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.plugin.AbstractTestPluginProvider;
+import org.apache.ignite.plugin.CachePluginContext;
+import org.apache.ignite.plugin.CachePluginProvider;
import org.apache.ignite.plugin.ExtensionRegistry;
+import org.apache.ignite.plugin.IgnitePlugin;
+import org.apache.ignite.plugin.PluginConfiguration;
import org.apache.ignite.plugin.PluginContext;
+import org.apache.ignite.plugin.PluginProvider;
+import org.apache.ignite.plugin.PluginValidationException;
import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
@@ -31,6 +40,7 @@ import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.jetbrains.annotations.Nullable;
import org.junit.Test;
import static org.apache.ignite.testframework.GridTestUtils.assertThrows;
@@ -40,6 +50,9 @@ import static org.apache.ignite.testframework.GridTestUtils.assertThrows;
* for which message factory is already registered.
*/
public class MessageDirectTypeIdConflictTest extends GridCommonAbstractTest {
+ /** Test plugin name. */
+ private static final String TEST_PLUGIN_NAME = "TEST_PLUGIN";
+
/** Message direct type. Message with this direct type will be registered by {@link GridIoMessageFactory} first. */
private static final short MSG_DIRECT_TYPE = -44;
@@ -71,27 +84,99 @@ public class MessageDirectTypeIdConflictTest extends GridCommonAbstractTest {
* for which message factory is already registered.
*/
@Test
- @SuppressWarnings({"RedundantThrows", "ThrowableNotThrown"})
public void testRegisterMessageFactoryWithConflictDirectTypeId() throws Exception {
assertThrows(log, (Callable<Object>)this::startGrid, IgniteCheckedException.class,
"Message factory is already registered for direct type: " + MSG_DIRECT_TYPE);
}
+ /** Plugin with own message factory. */
+ private static class TestPlugin implements IgnitePlugin {
+ }
+
/** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
+ public static class TestPluginProvider implements PluginProvider<TestPluginConfiguration> {
/** {@inheritDoc} */
@Override public String name() {
- return "TEST_PLUGIN";
+ return TEST_PLUGIN_NAME;
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends IgnitePlugin> T plugin() {
+ return (T)new TestPlugin();
}
/** {@inheritDoc} */
- @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) {
+ @Override public <T> @Nullable T createComponent(PluginContext ctx, Class<T> cls) {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String version() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String copyright() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) throws IgniteCheckedException {
registry.registerExtension(MessageFactory.class, new MessageFactoryProvider() {
@Override public void registerAll(IgniteMessageFactory factory) {
factory.register(MSG_DIRECT_TYPE, TestMessage::new);
}
});
}
+
+ /** {@inheritDoc} */
+ @Override public CachePluginProvider createCacheProvider(CachePluginContext ctx) {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void start(PluginContext ctx) throws IgniteCheckedException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void stop(boolean cancel) throws IgniteCheckedException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void onIgniteStart() throws IgniteCheckedException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void onIgniteStop(boolean cancel) {
+ // no-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public @Nullable Serializable provideDiscoveryData(UUID nodeId) {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void receiveDiscoveryData(UUID nodeId, Serializable data) {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void validateNewNode(ClusterNode node) throws PluginValidationException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void validateNewNode(ClusterNode node, Serializable data) {
+ // No-op.
+ }
+ }
+
+ /** */
+ private static class TestPluginConfiguration implements PluginConfiguration {
}
/** Test message with already registered direct type. */
@@ -121,4 +206,5 @@ public class MessageDirectTypeIdConflictTest extends GridCommonAbstractTest {
// No-op.
}
}
+
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java
index 97fa68c..aaa42b1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java
@@ -22,13 +22,8 @@ import org.apache.ignite.Ignition;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.binary.BinaryMarshaller;
+import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.util.IgniteUtils;
-import org.apache.ignite.plugin.AbstractTestPluginProvider;
-import org.apache.ignite.plugin.ExtensionRegistry;
-import org.apache.ignite.plugin.PluginContext;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -41,14 +36,19 @@ import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
* Cache + conditional deployment test.
*/
public class GridCacheConditionalDeploymentSelfTest extends GridCommonAbstractTest {
+ /**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(TestMessage.DIRECT_TYPE, TestMessage::new);
+ }
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
cfg.setCacheConfiguration(cacheConfiguration());
- cfg.setPluginProviders(new TestPluginProvider());
-
return cfg;
}
@@ -201,22 +201,6 @@ public class GridCacheConditionalDeploymentSelfTest extends GridCommonAbstractTe
/** */
private static class TestValue {
- }
- /** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
- /** {@inheritDoc} */
- @Override public String name() {
- return "TEST_PLUGIN";
- }
-
- /** {@inheritDoc} */
- @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) {
- registry.registerExtension(MessageFactory.class, new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(TestMessage.DIRECT_TYPE, TestMessage::new);
- }
- });
- }
}
}
diff --git a/modules/core/src/test/java/org/apache/ignite/plugin/PluginConfigurationTest.java b/modules/core/src/test/java/org/apache/ignite/plugin/PluginConfigurationTest.java
index 87a9142..7f46a74 100644
--- a/modules/core/src/test/java/org/apache/ignite/plugin/PluginConfigurationTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/plugin/PluginConfigurationTest.java
@@ -17,22 +17,30 @@
package org.apache.ignite.plugin;
+import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.ServiceLoader;
+import java.util.UUID;
import java.util.stream.Collectors;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.jetbrains.annotations.Nullable;
import org.junit.Test;
/**
* Tests for Ignite plugin configuration.
*/
public class PluginConfigurationTest extends GridCommonAbstractTest {
+ /** Test plugin name. */
+ private static final String TEST_PLUGIN_NAME = "test_plugin";
+
/** {@inheritDoc} */
@Override protected void afterTest() throws Exception {
super.afterTest();
@@ -98,11 +106,91 @@ public class PluginConfigurationTest extends GridCommonAbstractTest {
return col.stream().map(PluginProvider::name).collect(Collectors.toList());
}
+ /** Plugin with own message factory. */
+ private static class TestPlugin implements IgnitePlugin {
+ }
+
/** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
+ @SuppressWarnings("RedundantThrows")
+ public static class TestPluginProvider implements PluginProvider<TestPluginConfiguration> {
/** {@inheritDoc} */
@Override public String name() {
- return "test_plugin";
+ return TEST_PLUGIN_NAME;
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends IgnitePlugin> T plugin() {
+ return (T)new TestPlugin();
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> @Nullable T createComponent(PluginContext ctx, Class<T> cls) {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String version() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String copyright() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) throws IgniteCheckedException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("rawtypes")
+ @Override public CachePluginProvider createCacheProvider(CachePluginContext ctx) {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void start(PluginContext ctx) throws IgniteCheckedException {
+ // No-op.
}
+
+ /** {@inheritDoc} */
+ @Override public void stop(boolean cancel) throws IgniteCheckedException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void onIgniteStart() throws IgniteCheckedException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void onIgniteStop(boolean cancel) {
+ // no-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public @Nullable Serializable provideDiscoveryData(UUID nodeId) {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void receiveDiscoveryData(UUID nodeId, Serializable data) {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void validateNewNode(ClusterNode node) throws PluginValidationException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void validateNewNode(ClusterNode node, Serializable data) {
+ // No-op.
+ }
+ }
+
+ /** */
+ private static class TestPluginConfiguration implements PluginConfiguration {
}
}
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
index 3ed071c..326b716 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
@@ -29,16 +29,12 @@ import java.util.UUID;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.testframework.GridSpiTestContext;
import org.apache.ignite.testframework.GridTestNode;
@@ -80,6 +76,13 @@ public abstract class GridAbstractCommunicationSelfTest<T extends CommunicationS
/** */
protected boolean useSsl;
+ /**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
/** */
private class MessageListener implements CommunicationListener<Message> {
/** */
@@ -303,14 +306,6 @@ public abstract class GridAbstractCommunicationSelfTest<T extends CommunicationS
GridSpiTestContext ctx = initSpiContext();
- MessageFactoryProvider testMsgFactory = new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- };
-
- ctx.messageFactory(new IgniteMessageFactoryImpl(new MessageFactory[] {new GridIoMessageFactory(), testMsgFactory}));
-
ctx.setLocalNode(node);
ctx.timeoutProcessor(timeoutProcessor);
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
index bfce2ad..21a846d 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
@@ -35,16 +35,11 @@ import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.managers.communication.GridIoManager;
import org.apache.ignite.internal.managers.communication.GridIoPolicy;
import org.apache.ignite.internal.managers.communication.GridMessageListener;
+import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.cache.GridCacheMessage;
import org.apache.ignite.internal.util.typedef.CI2;
-import org.apache.ignite.plugin.AbstractTestPluginProvider;
-import org.apache.ignite.plugin.ExtensionRegistry;
-import org.apache.ignite.plugin.PluginContext;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -66,6 +61,21 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
/** */
public static final String TEST_BODY = "Test body";
+ /**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(TestMessage.DIRECT_TYPE, TestMessage::new);
+
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+
+ IgniteMessageFactoryImpl.registerCustom(TestMessage1.DIRECT_TYPE, TestMessage1::new);
+
+ IgniteMessageFactoryImpl.registerCustom(TestMessage2.DIRECT_TYPE, TestMessage2::new);
+
+ IgniteMessageFactoryImpl.registerCustom(TestBadMessage.DIRECT_TYPE, TestBadMessage::new);
+ }
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
@@ -84,8 +94,6 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
cfg.setCacheConfiguration(ccfg);
- cfg.setPluginProviders(new TestPluginProvider());
-
return cfg;
}
@@ -797,7 +805,9 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
}
}
- /** */
+ /**
+ *
+ */
private static class TestFailureHandler extends AbstractFailureHandler {
/** {@inheritDoc} */
@Override protected boolean handle(Ignite ignite, FailureContext failureCtx) {
@@ -806,25 +816,4 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
return false;
}
}
-
- /** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
- /** {@inheritDoc} */
- @Override public String name() {
- return "TEST_PLUGIN";
- }
-
- /** {@inheritDoc} */
- @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) {
- registry.registerExtension(MessageFactory.class, new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(TestMessage.DIRECT_TYPE, TestMessage::new);
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- factory.register(TestMessage1.DIRECT_TYPE, TestMessage1::new);
- factory.register(TestMessage2.DIRECT_TYPE, TestMessage2::new);
- factory.register(TestBadMessage.DIRECT_TYPE, TestBadMessage::new);
- }
- });
- }
- }
}
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
index e0db859..69e4bef 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
@@ -37,7 +37,6 @@ import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteNodeAttributes;
-import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
@@ -46,10 +45,7 @@ import org.apache.ignite.internal.util.nio.GridCommunicationClient;
import org.apache.ignite.internal.util.nio.GridNioServer;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.communication.CommunicationListener;
import org.apache.ignite.spi.communication.CommunicationSpi;
@@ -101,6 +97,13 @@ public class GridTcpCommunicationSpiConcurrentConnectSelfTest<T extends Communic
private boolean pairedConnections = true;
/**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
+ /**
* Disable SPI auto-start.
*/
public GridTcpCommunicationSpiConcurrentConnectSelfTest() {
@@ -432,16 +435,6 @@ public class GridTcpCommunicationSpiConcurrentConnectSelfTest<T extends Communic
GridSpiTestContext ctx = initSpiContext();
- MessageFactoryProvider testMsgFactory = new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- };
-
- ctx.messageFactory(new IgniteMessageFactoryImpl(
- new MessageFactory[] {new GridIoMessageFactory(), testMsgFactory})
- );
-
ctx.setLocalNode(node);
ctx.timeoutProcessor(timeoutProcessor);
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
index 60bb2f0..f99df2b 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
@@ -38,7 +38,6 @@ import org.apache.ignite.IgniteException;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.lang.GridAbsPredicate;
@@ -50,10 +49,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.PA;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.communication.CommunicationListener;
import org.apache.ignite.spi.communication.CommunicationSpi;
@@ -102,6 +98,10 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest extends GridSpiAbstrac
/** Flag indicating if listener should reject messages. */
private static boolean reject;
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
/**
* @param useShmem Use shared mem.
*/
@@ -491,16 +491,6 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest extends GridSpiAbstrac
GridSpiTestContext ctx = initSpiContext();
- MessageFactoryProvider testMsgFactory = new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- };
-
- ctx.messageFactory(new IgniteMessageFactoryImpl(
- new MessageFactory[] {new GridIoMessageFactory(), testMsgFactory})
- );
-
ctx.timeoutProcessor(timeoutProcessor);
ctx.setLocalNode(node);
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
index 89e300a..d99f48f 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
@@ -27,7 +27,6 @@ import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
@@ -37,10 +36,7 @@ import org.apache.ignite.internal.util.nio.GridNioServer;
import org.apache.ignite.internal.util.nio.GridNioSession;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.CommunicationListener;
@@ -76,6 +72,13 @@ public class GridTcpCommunicationSpiRecoveryAckSelfTest<T extends CommunicationS
private static final int SPI_CNT = 2;
/**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
+ /**
* Disable SPI auto-start.
*/
public GridTcpCommunicationSpiRecoveryAckSelfTest() {
@@ -398,16 +401,6 @@ public class GridTcpCommunicationSpiRecoveryAckSelfTest<T extends CommunicationS
GridSpiTestContext ctx = initSpiContext();
- MessageFactoryProvider testMsgFactory = new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- };
-
- ctx.messageFactory(new IgniteMessageFactoryImpl(
- new MessageFactory[] {new GridIoMessageFactory(), testMsgFactory})
- );
-
ctx.setLocalNode(node);
ctx.timeoutProcessor(timeoutProcessor);
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
index cbaf4f0..1d03590 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
@@ -32,7 +32,6 @@ import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
@@ -41,10 +40,7 @@ import org.apache.ignite.internal.util.nio.GridNioServer;
import org.apache.ignite.internal.util.nio.GridNioSession;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.CommunicationListener;
@@ -90,6 +86,13 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi<
private static GridTimeoutProcessor timeoutProcessor;
/**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
+ /**
* Disable SPI auto-start.
*/
public GridTcpCommunicationSpiRecoverySelfTest() {
@@ -743,16 +746,6 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi<
GridSpiTestContext ctx = initSpiContext();
- MessageFactoryProvider testMsgFactory = new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- };
-
- ctx.messageFactory(new IgniteMessageFactoryImpl(
- new MessageFactory[] {new GridIoMessageFactory(), testMsgFactory})
- );
-
ctx.setLocalNode(node);
ctx.timeoutProcessor(timeoutProcessor);
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
index d6dd92a..ef9b413 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
@@ -28,7 +28,6 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
@@ -40,10 +39,7 @@ import org.apache.ignite.internal.util.typedef.CI1;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.CommunicationListener;
@@ -80,6 +76,13 @@ public class IgniteTcpCommunicationRecoveryAckClosureSelfTest<T extends Communic
private static GridTimeoutProcessor timeoutProcessor;
/**
+ *
+ */
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
+ /**
* Disable SPI auto-start.
*/
public IgniteTcpCommunicationRecoveryAckClosureSelfTest() {
@@ -451,16 +454,6 @@ public class IgniteTcpCommunicationRecoveryAckClosureSelfTest<T extends Communic
GridSpiTestContext ctx = initSpiContext();
- MessageFactoryProvider testMsgFactory = new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- };
-
- ctx.messageFactory(new IgniteMessageFactoryImpl(
- new MessageFactory[] {new GridIoMessageFactory(), testMsgFactory})
- );
-
ctx.setLocalNode(node);
ctx.timeoutProcessor(timeoutProcessor);
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java
index 9a54271..26fb56b 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java
@@ -28,19 +28,14 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.GridTopic;
import org.apache.ignite.internal.managers.communication.GridIoMessage;
import org.apache.ignite.internal.managers.communication.GridIoPolicy;
+import org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl;
import org.apache.ignite.internal.processors.metric.MetricRegistry;
import org.apache.ignite.internal.processors.metric.impl.LongAdderMetric;
import org.apache.ignite.internal.processors.metric.impl.MetricUtils;
import org.apache.ignite.lang.IgniteCallable;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.plugin.AbstractTestPluginProvider;
-import org.apache.ignite.plugin.ExtensionRegistry;
-import org.apache.ignite.plugin.PluginContext;
-import org.apache.ignite.plugin.extensions.communication.IgniteMessageFactory;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.GridTestMessage;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -60,6 +55,10 @@ public class TcpCommunicationStatisticsTest extends GridCommonAbstractTest {
/** */
private final CountDownLatch latch = new CountDownLatch(1);
+ static {
+ IgniteMessageFactoryImpl.registerCustom(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
+ }
+
/**
* CommunicationSPI synchronized by {@code mux}.
*/
@@ -98,8 +97,6 @@ public class TcpCommunicationStatisticsTest extends GridCommonAbstractTest {
cfg.setCommunicationSpi(spi);
- cfg.setPluginProviders(new TestPluginProvider());
-
return cfg;
}
@@ -208,21 +205,4 @@ public class TcpCommunicationStatisticsTest extends GridCommonAbstractTest {
stopAllGrids();
}
}
-
- /** */
- public static class TestPluginProvider extends AbstractTestPluginProvider {
- /** {@inheritDoc} */
- @Override public String name() {
- return "TEST_PLUGIN";
- }
-
- /** {@inheritDoc} */
- @Override public void initExtensions(PluginContext ctx, ExtensionRegistry registry) {
- registry.registerExtension(MessageFactory.class, new MessageFactoryProvider() {
- @Override public void registerAll(IgniteMessageFactory factory) {
- factory.register(GridTestMessage.DIRECT_TYPE, GridTestMessage::new);
- }
- });
- }
- }
}
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
index fdea2b0..6424bfc 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
@@ -29,6 +29,7 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
+import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.events.DiscoveryEvent;
@@ -333,7 +334,13 @@ public class GridSpiTestContext implements IgniteSpiContext {
/** {@inheritDoc} */
@Override public void addLocalMessageListener(Object topic, IgniteBiPredicate<UUID, ?> p) {
- addMessageListener(TOPIC_COMM_USER, new GridLocalMessageListener(topic, (IgniteBiPredicate<UUID, Object>)p));
+ try {
+ addMessageListener(TOPIC_COMM_USER,
+ new GridLocalMessageListener(topic, (IgniteBiPredicate<UUID, Object>)p));
+ }
+ catch (IgniteCheckedException e) {
+ throw new IgniteException(e);
+ }
}
/**
@@ -356,7 +363,13 @@ public class GridSpiTestContext implements IgniteSpiContext {
/** {@inheritDoc} */
@Override public void removeLocalMessageListener(Object topic, IgniteBiPredicate<UUID, ?> p) {
- removeMessageListener(TOPIC_COMM_USER, new GridLocalMessageListener(topic, (IgniteBiPredicate<UUID, Object>)p));
+ try {
+ removeMessageListener(TOPIC_COMM_USER,
+ new GridLocalMessageListener(topic, (IgniteBiPredicate<UUID, Object>)p));
+ }
+ catch (IgniteCheckedException e) {
+ throw new IgniteException(e);
+ }
}
/**
@@ -389,7 +402,7 @@ public class GridSpiTestContext implements IgniteSpiContext {
/** {@inheritDoc} */
@Override public void addLocalEventListener(GridLocalEventListener lsnr, int... types) {
- Set<Integer> typeSet = F.addIfAbsent(evtLsnrs, lsnr, F.newSet());
+ Set<Integer> typeSet = F.addIfAbsent(evtLsnrs, lsnr, F.<Integer>newSet());
assert typeSet != null;
@@ -560,15 +573,6 @@ public class GridSpiTestContext implements IgniteSpiContext {
return factory;
}
- /**
- * Sets custom test message factory.
- *
- * @param factory Message factory.
- */
- public void messageFactory(MessageFactory factory) {
- this.factory = factory;
- }
-
/** {@inheritDoc} */
@Override public boolean isStopping() {
return false;
@@ -650,7 +654,7 @@ public class GridSpiTestContext implements IgniteSpiContext {
/**
* This class represents a message listener wrapper that knows about peer deployment.
*/
- private static class GridLocalMessageListener implements GridMessageListener {
+ private class GridLocalMessageListener implements GridMessageListener {
/** Predicate listeners. */
private final IgniteBiPredicate<UUID, Object> predLsnr;
@@ -660,8 +664,10 @@ public class GridSpiTestContext implements IgniteSpiContext {
/**
* @param topic User topic.
* @param predLsnr Predicate listener.
+ * @throws IgniteCheckedException If failed to inject resources to predicates.
*/
- GridLocalMessageListener(@Nullable Object topic, @Nullable IgniteBiPredicate<UUID, Object> predLsnr) {
+ GridLocalMessageListener(@Nullable Object topic, @Nullable IgniteBiPredicate<UUID, Object> predLsnr)
+ throws IgniteCheckedException {
this.topic = topic;
this.predLsnr = predLsnr;
}