List of usage examples for com.google.common.util.concurrent Monitor Monitor
public Monitor(boolean fair)
From source file:com.github.richardballard.arbeeutils.concurrent.GateBarrier.java
public GateBarrier(final @NotNull State initialState) { this.state = initialState; this.monitor = new Monitor(false); this.isOpenGuard = new Monitor.Guard(monitor) { @Override/*w w w .j av a 2 s.com*/ public boolean isSatisfied() { return state == State.OPEN; } }; }
From source file:guru.qas.martini.jmeter.control.MartiniController.java
public MartiniController() { super();/* ww w . j ava2 s.com*/ monitor = new Monitor(true); martinisRef = new AtomicReference<>(); iteratorRef = new AtomicReference<>(); index = new HashMap<>(); }
From source file:com.github.nethad.clustermeister.provisioning.ec2.AmazonEC2JPPFDeployer.java
static protected Monitor getDriverMonitor(NodeMetadata metadata) { driverMM.enter();//from w w w . j a va2s .co m try { Monitor driverMonitor = instanceDriverMonitors.get(metadata.getId()); if (driverMonitor == null) { driverMonitor = new Monitor(false); instanceDriverMonitors.put(metadata.getId(), driverMonitor); } return driverMonitor; } finally { driverMM.leave(); } }
From source file:com.github.nethad.clustermeister.provisioning.jppf.LocalDriverBuilder.java
@Override protected ClustermeisterLauncher doBuild() { JPPFDriverConfigurationSource.serverPort = serverPort; JPPFDriverConfigurationSource.managementPort = managementPort; JPPFDriverConfigurationSource.jvmOptions = configuration .getString(ConfigurationKeys.JVM_OPTIONS_LOCAL_DRIVER, ""); Map<String, String> loadBalancingConfigValues = new DriverLoadBalancing(configuration) .getLoadBalancingConfigValues(); if (loadBalancingConfigValues.isEmpty()) { // logger.info("No load balancing settings set."); } else {//from w w w . j ava2s . com for (Map.Entry<String, String> entry : loadBalancingConfigValues.entrySet()) { // logger.info("{} => {}", entry.getKey(), entry.getValue()); } } JPPFDriverConfigurationSource.loadBalancing = new DriverLoadBalancing(configuration) .getLoadBalancingConfigValues(); final ClustermeisterLauncher launcher = new ClustermeisterDriverLauncher(true); final AtomicBoolean initialized = new AtomicBoolean(false); final Monitor initializationMonitor = new Monitor(false); final Monitor.Guard isInitialized = new Monitor.Guard(initializationMonitor) { @Override public boolean isSatisfied() { return initialized.get(); } }; launcher.addObserver(new Observer() { @Override public void update(Observable o, Object arg) { initializationMonitor.enter(); try { initialized.set(true); } finally { initializationMonitor.leave(); } } }); Thread driverThread = new Thread(new Runnable() { @Override public void run() { try { launcher.doLaunch(true, ClustermeisterProcessLauncher.StreamSink.LOG); } catch (Throwable ex) { logger.warn("Execption from local driver thread.", ex); } } }); driverThread.setName(String.format("%s-%s", DRIVER_THREAD_NAME, driverThread.getId())); driverThread.start(); //wait for driver to initialize. initializationMonitor.enter(); try { try { initializationMonitor.waitFor(isInitialized); } catch (InterruptedException ex) { logger.warn("Interrupted while waiting for local driver to initialize! " + "Initialization may not be complete.", ex); } } finally { initializationMonitor.leave(); } return launcher; }
From source file:com.github.nethad.clustermeister.provisioning.ec2.AmazonEC2JPPFDeployer.java
static protected Monitor getNodeMonitor(NodeMetadata metadata) { nodeMM.enter();/*w ww . j a va 2s .c o m*/ try { Monitor nodeMonitor = instanceNodeMonitors.get(metadata.getId()); if (nodeMonitor == null) { nodeMonitor = new Monitor(false); instanceNodeMonitors.put(metadata.getId(), nodeMonitor); } return nodeMonitor; } finally { nodeMM.leave(); } }