All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tinkerpop.rexster.server.GrizzlyIoStrategyFactory Maven / Gradle / Ivy

The newest version!
package com.tinkerpop.rexster.server;

import org.glassfish.grizzly.IOStrategy;
import org.glassfish.grizzly.strategies.LeaderFollowerNIOStrategy;
import org.glassfish.grizzly.strategies.SameThreadIOStrategy;
import org.glassfish.grizzly.strategies.SimpleDynamicNIOStrategy;
import org.glassfish.grizzly.strategies.WorkerThreadIOStrategy;

/**
 * Creates various IOStrategy implementations for Grizzly.  Defaults to leader-follower.
 *
 * http://grizzly.java.net/nonav/docs/docbkx2.0/html/iostrategies.html
 *
 * @author Stephen Mallette (http://stephen.genoprime.com)
 */
public class GrizzlyIoStrategyFactory {

    private static final String WORKER = "worker";
    private static final String SAME = "same";
    private static final String DYNAMIC = "dynamic";
    private static final String LEADER_FOLLOWER = "leader-follower";

    public static IOStrategy createIoStrategy(final String strategy) {
        final IOStrategy ioStrategy;
        if (strategy.equals(WORKER)) {
            ioStrategy = WorkerThreadIOStrategy.getInstance();
        } else if (strategy.equals(SAME)) {
            ioStrategy = SameThreadIOStrategy.getInstance();
        } else if (strategy.equals(DYNAMIC))  {
            ioStrategy = SimpleDynamicNIOStrategy.getInstance();
        } else if (strategy.equals(LEADER_FOLLOWER)) {
            ioStrategy = LeaderFollowerNIOStrategy.getInstance();
        } else {
            ioStrategy = LeaderFollowerNIOStrategy.getInstance();
        }

        return ioStrategy;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy