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/

Reply via email to