Sample import org.apache.ignite.Ignite; import org.apache.ignite.Ignition; import org.apache.ignite.configuration.*; import org.apache.ignite.events.EventType; import org.apache.ignite.failure.StopNodeOrHaltFailureHandler; import org.apache.ignite.internal.util.IgniteUtils; import org.apache.ignite.spi.communication.CommunicationSpi; import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi; import org.apache.ignite.spi.discovery.DiscoverySpi; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.logging.log4j.ThreadContext; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test;
import java.nio.file.Paths; import java.util.List; import java.util.Random; import static org.junit.jupiter.api.Assertions.*; public class SampleTest { static String localhost; private static Random random; final static int discPort = 36101; final static int commPort = 37601; final static int sharedMemPort = 37235; final static int clusterSize = 2; private static final int messageQueueLimit = 8192; private static final long tcpCommTimeout = 10_000L; private static final int igniteCommPortRange = 5; final static int igniteDiscPortRange = clusterSize * 2; final static int igniteDiscMaxPort = discPort + igniteDiscPortRange; private static final long discoveryNetworkTimeout = 20_000L; private static final int default_threadpool_size = 8; private static final int igniteLongRunningThreadPoolSize = 8; private static final int igniteStreamerThreadPoolSize = 8; private static final String igniteDiscHost = "127.0.0.1"; final static String tmpdir = System.getProperty("java.io.tmpdir"); public static final int[] EVENT_TYPES = { EventType.EVT_CACHE_OBJECT_EXPIRED, EventType.EVT_NODE_JOINED, EventType.EVT_NODE_LEFT, EventType.EVT_NODE_SEGMENTED, EventType.EVT_CLIENT_NODE_DISCONNECTED, EventType.EVT_CLIENT_NODE_RECONNECTED, EventType.EVT_NODE_FAILED, EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST}; @BeforeAll static void beforeAll() { IgniteUtils.setCurrentIgniteName(""); ThreadContext.clearAll(); System.setProperty("ignite.cluster.encryption.disabled", "true"); } @Test void test() { int httpPort = 37500; localhost = "localhost:" + httpPort; try { startCluster(); final Ignite ignite = Ignition.ignite("NODE_I1"); assertNotNull(ignite); } finally { IgniteUtils.setCurrentIgniteName(null); ThreadContext.clearAll(); } } private static void startCluster() { random = new Random(); Thread.interrupted(); startNode("NODE_1"); for (int i = 2; i <= clusterSize; i++) { startNode("NODE" + i); } Ignite i1 = Ignition.ignite("NODE_1"); assertEquals(clusterSize, i1.cluster().nodes().size()); } private static void startNode(String instanceName) { IgniteConfiguration igniteConfig = new IgniteConfiguration().setIgniteInstanceName(instanceName) .setPeerClassLoadingEnabled(false) .setWorkDirectory(Paths.get(tmpdir,"ignite", "work", String.valueOf(random.nextInt(1000000))).toString()) .setFailureDetectionTimeout(30_000L) .setMetricsLogFrequency(300000L) .setDataStorageConfiguration(createDataStorageConfiguration()) .setIncludeEventTypes(EVENT_TYPES) .setCommunicationSpi(createCommunicationSpi()) .setDiscoverySpi(createDiscoverySpi()) .setPublicThreadPoolSize(default_threadpool_size) .setDataStreamerThreadPoolSize(igniteStreamerThreadPoolSize) .setSystemThreadPoolSize(default_threadpool_size) .setServiceThreadPoolSize(default_threadpool_size) .setStripedPoolSize(default_threadpool_size) .setExecutorConfiguration(createExecutorConfig("IgniteLongRunning", igniteLongRunningThreadPoolSize)) .setConnectorConfiguration(null) .setClientConnectorConfiguration(null) .setBinaryConfiguration(createBinaryConfiguration()) .setFailureHandler(new StopNodeOrHaltFailureHandler(false, 0));; Ignite ignite = Ignition.getOrStart(igniteConfig); } static DataStorageConfiguration createDataStorageConfiguration() { int evictionThreshold = 90; String DEFAULT_MEMORY_REGION = "Default_Region"; long memSize = 200 * 1024 * 1024;; DataRegionConfiguration regionConfig = new DataRegionConfiguration() .setName(DEFAULT_MEMORY_REGION) .setInitialSize(memSize) .setMaxSize(memSize) .setMetricsEnabled(true) .setPageEvictionMode(DataPageEvictionMode.DISABLED) .setEvictionThreshold(evictionThreshold / 100); DataStorageConfiguration dataStorageConfiguration = new DataStorageConfiguration() .setDefaultDataRegionConfiguration(regionConfig); dataStorageConfiguration.setMetricsEnabled(true); return dataStorageConfiguration; } static CommunicationSpi createCommunicationSpi() { return new TcpCommunicationSpi() .setSocketWriteTimeout(tcpCommTimeout) .setConnectTimeout(tcpCommTimeout) .setLocalPort(commPort) .setLocalPortRange(igniteCommPortRange) .setSharedMemoryPort(sharedMemPort) .setMessageQueueLimit(messageQueueLimit); } static DiscoverySpi createDiscoverySpi() { return new TcpDiscoverySpi() .setLocalPort(discPort) .setLocalPortRange(igniteDiscPortRange) .setNetworkTimeout(discoveryNetworkTimeout) .setIpFinder(createIpFinder(igniteDiscMaxPort)); } static TcpDiscoveryIpFinder createIpFinder(final int igniteDiscMaxPort) { return new TcpDiscoveryVmIpFinder().setAddresses(List.of(igniteDiscHost + ":" + discPort + ".." + igniteDiscMaxPort)); } static ExecutorConfiguration createExecutorConfig(String name, int threadCount) { return new ExecutorConfiguration(name) .setSize(threadCount); } static BinaryConfiguration createBinaryConfiguration() { return new BinaryConfiguration().setCompactFooter(false); } } -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/