List of usage examples for java.util.concurrent.atomic AtomicBoolean get
public final boolean get()
From source file:org.apache.hadoop.security.ssl.TestReloadingX509KeyManager.java
@Test(timeout = 4000) public void testReloadMissingKeyStore() throws Exception { KeyPair keyPair = KeyStoreTestUtil.generateKeyPair(KEY_PAIR_ALGORITHM); X509Certificate cert = KeyStoreTestUtil.generateCertificate("CN=cert", keyPair, 2, CERTIFICATE_ALGORITHM); String keyStoreLocation = Paths.get(BASE_DIR, "testKeystore.jks").toString(); KeyStoreTestUtil.createKeyStore(keyStoreLocation, KEYSTORE_PASSWORD, "cert", keyPair.getPrivate(), cert); ReloadingX509KeyManager keyManager = new ReloadingX509KeyManager("jks", keyStoreLocation, KEYSTORE_PASSWORD, KEYSTORE_PASSWORD, 10, TimeUnit.MILLISECONDS); try {// w w w. j a v a 2 s . c o m keyManager.init(); X509Certificate[] certChain = keyManager.getCertificateChain("cert"); assertNotNull("Certificate chain should not be null for alias cert", certChain); // Delete the keystore FileUtils.forceDelete(new File(keyStoreLocation)); keyManager.getReloadTimeUnit().sleep(keyManager.getReloadInterval()); TimeUnit.SECONDS.sleep(1); AtomicBoolean fileExists = keyManager.getFileExists(); assertFalse("Key manager should detect file does not exist", fileExists.get()); certChain = keyManager.getCertificateChain("cert"); assertNotNull("Certificate chain should not be null for alias cert", certChain); } finally { keyManager.stop(); } }
From source file:gobblin.runtime.StateStoreBasedWatermarkStorageCli.java
@Override public void run(String[] args) { Options options = new Options(); options.addOption(HELP);/* ww w. ja v a 2 s . com*/ options.addOption(ZK); options.addOption(JOB_NAME); options.addOption(ROOT_DIR); options.addOption(WATCH); CommandLine cli; try { CommandLineParser parser = new DefaultParser(); cli = parser.parse(options, Arrays.copyOfRange(args, 1, args.length)); } catch (ParseException pe) { System.out.println("Command line parse exception: " + pe.getMessage()); return; } if (cli.hasOption(HELP.getOpt())) { printUsage(options); return; } TaskState taskState = new TaskState(); String jobName; if (!cli.hasOption(JOB_NAME.getOpt())) { log.error("Need Job Name to be specified --", JOB_NAME.getLongOpt()); throw new RuntimeException("Need Job Name to be specified"); } else { jobName = cli.getOptionValue(JOB_NAME.getOpt()); log.info("Using job name: {}", jobName); } taskState.setProp(ConfigurationKeys.JOB_NAME_KEY, jobName); String zkAddress = "locahost:2181"; if (cli.hasOption(ZK.getOpt())) { zkAddress = cli.getOptionValue(ZK.getOpt()); } log.info("Using zk address : {}", zkAddress); taskState.setProp(StateStoreBasedWatermarkStorage.WATERMARK_STORAGE_TYPE_KEY, "zk"); taskState.setProp("state.store.zk.connectString", zkAddress); if (cli.hasOption(ROOT_DIR.getOpt())) { String rootDir = cli.getOptionValue(ROOT_DIR.getOpt()); taskState.setProp(StateStoreBasedWatermarkStorage.WATERMARK_STORAGE_CONFIG_PREFIX + ConfigurationKeys.STATE_STORE_ROOT_DIR_KEY, rootDir); log.info("Setting root dir to {}", rootDir); } else { log.error("Need root directory specified"); printUsage(options); return; } StateStoreBasedWatermarkStorage stateStoreBasedWatermarkStorage = new StateStoreBasedWatermarkStorage( taskState); final AtomicBoolean stop = new AtomicBoolean(true); if (cli.hasOption(WATCH.getOpt())) { stop.set(false); } try { if (!stop.get()) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { stop.set(true); } }); } do { boolean foundWatermark = false; try { for (CheckpointableWatermarkState wmState : stateStoreBasedWatermarkStorage .getAllCommittedWatermarks()) { foundWatermark = true; System.out.println(wmState.getProperties()); } } catch (IOException ie) { Throwables.propagate(ie); } if (!foundWatermark) { System.out.println("No watermarks found."); } if (!stop.get()) { Thread.sleep(1000); } } while (!stop.get()); } catch (Exception e) { Throwables.propagate(e); } }
From source file:org.alfresco.repo.search.impl.solr.SolrBackupClient.java
public void execute() { if (solrQueryHTTPClient.isSharded()) { return;//ww w .j a v a 2s . c o m } String lockToken = getLock(60000); if (lockToken == null) { return; } // Use a flag to keep track of the running job final AtomicBoolean running = new AtomicBoolean(true); jobLockService.refreshLock(lockToken, lock, 30000, new JobLockRefreshCallback() { @Override public boolean isActive() { return running.get(); } @Override public void lockReleased() { running.set(false); } }); try { executeImpl(running); } catch (RuntimeException e) { throw e; } finally { // The lock will self-release if answer isActive in the negative running.set(false); jobLockService.releaseLock(lockToken, lock); } }
From source file:de.acosix.alfresco.mtsupport.repo.auth.TenantRoutingAuthenticationComponentFacade.java
/** * {@inheritDoc}/*from w w w . ja va 2s .co m*/ */ @Override public boolean isActive() { final AtomicBoolean isActive = new AtomicBoolean(false); LOGGER.trace("Checking isActive for enabled tenants (until first active tenant)"); for (final String tenantDomain : this.enabledTenants) { if (!isActive.get()) { isActive.set(this.isActive(tenantDomain)); } } LOGGER.trace("Component is active: {}", isActive.get()); return isActive.get(); }
From source file:org.apache.jackrabbit.core.integration.InterruptedQueryTest.java
@Test public void testQuery() throws Exception { if (Constants.WINDOWS) { return;/*from ww w.j a v a 2 s .co m*/ } for (int i = 0; i < 100; i++) { session.getRootNode().addNode("node" + i, "nt:unstructured"); } session.save(); final QueryManager qm = session.getWorkspace().getQueryManager(); final AtomicBoolean stop = new AtomicBoolean(false); final List<Exception> exceptions = Collections.synchronizedList(new ArrayList<Exception>()); Thread t = new Thread(new Runnable() { @Override public void run() { while (!stop.get() && exceptions.isEmpty()) { try { // execute query String stmt = "//*[@jcr:primaryType='nt:unstructured']"; qm.createQuery(stmt, Query.XPATH).execute(); } catch (RepositoryException e) { if (Constants.SUN_OS) { // on Solaris it's OK when the root cause // of the exception is an InterruptedIOException // the underlying file is not closed Throwable t = e; while (t.getCause() != null) { t = t.getCause(); } if (!(t instanceof InterruptedIOException)) { exceptions.add(e); } } else { exceptions.add(e); } } } } }); t.start(); for (int i = 0; i < 200 && t.isAlive(); i++) { t.interrupt(); Thread.sleep((long) (100.0 * Math.random())); } stop.set(true); t.join(); if (!exceptions.isEmpty()) { throw exceptions.get(0); } }
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 {/*ww w.j av a 2 s. c o m*/ 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:info.archinnov.achilles.it.TestTypedQueries.java
@Test public void should_iterate_regular_typed_query() throws Exception { //Given/* w w w. j av a2s . c o m*/ final Map<String, Object> values = new HashMap<>(); final long id = RandomUtils.nextLong(0L, Long.MAX_VALUE); values.put("id", id); values.put("date1", "'2015-10-01 00:00:00+0000'"); values.put("date2", "'2015-10-02 00:00:00+0000'"); values.put("date3", "'2015-10-03 00:00:00+0000'"); values.put("date4", "'2015-10-04 00:00:00+0000'"); values.put("date5", "'2015-10-05 00:00:00+0000'"); values.put("date6", "'2015-10-06 00:00:00+0000'"); values.put("date7", "'2015-10-07 00:00:00+0000'"); values.put("date8", "'2015-10-08 00:00:00+0000'"); values.put("date9", "'2015-10-09 00:00:00+0000'"); scriptExecutor.executeScriptTemplate("SimpleEntity/insert_many_rows.cql", values); final SimpleStatement statement = new SimpleStatement("SELECT * FROM simple WHERE id = :id LIMIT 100"); //When final Iterator<SimpleEntity> iter = manager.query().typedQueryForSelect(statement, id).iterator(); //Then final AtomicBoolean foundEntity = new AtomicBoolean(false); iter.forEachRemaining(instance -> { foundEntity.getAndSet(true); assertThat(instance).isNotNull(); assertThat(instance.getValue()).contains("id - date"); }); assertThat(foundEntity.get()).isTrue(); }
From source file:info.archinnov.achilles.it.TestNativeQueries.java
@Test public void should_iterate_regular_typed_query() throws Exception { //Given//w w w . j a v a2 s . co m final Map<String, Object> values = new HashMap<>(); final long id = RandomUtils.nextLong(0L, Long.MAX_VALUE); values.put("id", id); values.put("date1", "'2015-10-01 00:00:00+0000'"); values.put("date2", "'2015-10-02 00:00:00+0000'"); values.put("date3", "'2015-10-03 00:00:00+0000'"); values.put("date4", "'2015-10-04 00:00:00+0000'"); values.put("date5", "'2015-10-05 00:00:00+0000'"); values.put("date6", "'2015-10-06 00:00:00+0000'"); values.put("date7", "'2015-10-07 00:00:00+0000'"); values.put("date8", "'2015-10-08 00:00:00+0000'"); values.put("date9", "'2015-10-09 00:00:00+0000'"); scriptExecutor.executeScriptTemplate("SimpleEntity/insert_many_rows.cql", values); final SimpleStatement statement = new SimpleStatement("SELECT * FROM simple WHERE id = :id LIMIT 100"); //When final Iterator<TypedMap> iter = manager.query().nativeQuery(statement, id).iterator(); //Then final AtomicBoolean foundEntity = new AtomicBoolean(false); iter.forEachRemaining(instance -> { foundEntity.getAndSet(true); assertThat(instance).isNotNull(); assertThat(instance.<String>getTyped("value")).contains("id - date"); }); assertThat(foundEntity.get()).isTrue(); }
From source file:de.acosix.alfresco.mtsupport.repo.auth.TenantRoutingAuthenticationComponentFacade.java
/** * * {@inheritDoc}/*from w w w . j a v a2s . c o m*/ */ @Override protected boolean implementationAllowsGuestLogin() { final AtomicBoolean guestLoginAllowed = new AtomicBoolean(false); LOGGER.debug("Checking guestUserAuthenticationAllowed for enabled tenants (until first supporting tenant)"); for (final String tenantDomain : this.enabledTenants) { if (!guestLoginAllowed.get()) { if (TenantUtil.DEFAULT_TENANT.equals(tenantDomain) || (this.tenantAdminService.existsTenant(tenantDomain) && this.tenantAdminService.isEnabledTenant(tenantDomain))) { final AuthenticationComponent authenticationComponent = TenantBeanUtils.getBeanForTenant( this.applicationContext, this.beanName, tenantDomain, AuthenticationComponent.class); final boolean guestUserAuthenticationAllowed = authenticationComponent .guestUserAuthenticationAllowed(); LOGGER.trace("Tenant {} allows guest user authentication: {}", tenantDomain, guestUserAuthenticationAllowed); guestLoginAllowed.set(guestUserAuthenticationAllowed); } } } LOGGER.debug("Component allowed guest authentication: {}", guestLoginAllowed.get()); return guestLoginAllowed.get(); }