Created
September 25, 2015 09:35
-
-
Save Hylke1982/c4c0fcea2779093edbf9 to your computer and use it in GitHub Desktop.
Start the Gareth application
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.craftsmenlabs.gareth.api.ExperimentEngine; | |
import org.craftsmenlabs.gareth.api.ExperimentEngineConfig; | |
import org.craftsmenlabs.gareth.core.ExperimentEngineConfigImpl; | |
import org.craftsmenlabs.gareth.core.ExperimentEngineImpl; | |
import org.craftsmenlabs.gareth.examples.definition.SampleDefinition; | |
public class ExampleApplication { | |
public static void main(final String[] args) { | |
final ExperimentEnginePersistence experimentEnginePersistence = new FileSystemExperimentEnginePersistence.Builder().build(); | |
final ExperimentEngineConfig experimentEngineConfig = new ExperimentEngineConfigImpl | |
.Builder() | |
.addDefinitionClass(SampleDefinition.class) | |
.addInputStreams(ExampleApplication.class.getClass().getResourceAsStream("/experiments/businessgoal-01.experiment")) | |
.setIgnoreInvocationExceptions(true) | |
.build(); | |
final ExperimentEngine experimentEngine = new ExperimentEngineImpl | |
.Builder(experimentEngineConfig) | |
.setExperimentEnginePersistence(experimentEnginePersistence) | |
.build(); | |
experimentEngine.start(); | |
Runtime.getRuntime().addShutdownHook(new ShutdownHook(experimentEngine)); | |
} | |
/** | |
* Shutdown hook when application is stopped then also stop the experiment engine. | |
*/ | |
static class ShutdownHook extends Thread { | |
private final ExperimentEngine experimentEngine; | |
private ShutdownHook(final ExperimentEngine experimentEngine) { | |
this.experimentEngine = experimentEngine; | |
} | |
@Override | |
public void run() { | |
experimentEngine.stop(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment