Example usage for java.util.concurrent.atomic AtomicInteger incrementAndGet

List of usage examples for java.util.concurrent.atomic AtomicInteger incrementAndGet

Introduction

In this page you can find the example usage for java.util.concurrent.atomic AtomicInteger incrementAndGet.

Prototype

public final int incrementAndGet() 

Source Link

Document

Atomically increments the current value, with memory effects as specified by VarHandle#getAndAdd .

Usage

From source file:org.apache.servicecomb.config.archaius.sources.TestConfigCenterConfigurationSource.java

@Test
public void destroy_inited() throws IllegalAccessException {
    AtomicInteger count = new AtomicInteger();
    ConfigCenterClient configCenterClient = new MockUp<ConfigCenterClient>() {
        @Mock//from  w  w  w  . j a v a 2  s .  c  o m
        void destroy() {
            count.incrementAndGet();
        }
    }.getMockInstance();
    ConfigCenterConfigurationSourceImpl configCenterSource = new ConfigCenterConfigurationSourceImpl();
    FieldUtils.writeDeclaredField(configCenterSource, "configCenterClient", configCenterClient, true);

    configCenterSource.destroy();

    Assert.assertEquals(1, count.get());
}

From source file:org.jtheque.core.LifeCycleTest.java

@Test
@DirtiesContext//from  ww  w . ja v a2 s. c  om
public void titleListener() {
    final AtomicInteger titleCounter = new AtomicInteger(0);

    lifeCycle.addTitleListener(new TitleListener() {
        @Override
        public void titleUpdated(String title) {
            titleCounter.incrementAndGet();
        }
    });

    lifeCycle.refreshTitle();

    assertEquals(1, titleCounter.intValue());
}

From source file:org.jtheque.errors.ErrorServiceTest.java

@Test
@DirtiesContext/*from w w  w .j ava 2s . co  m*/
public void listenerRemoved() {
    final AtomicInteger integer = new AtomicInteger(0);

    ErrorListener listener = new ErrorListener() {
        @Override
        public void errorOccurred(Error occuredError) {
            integer.incrementAndGet();
        }
    };

    errorService.addErrorListener(listener);

    errorService.addError(Errors.newError("Test1"));

    errorService.removeErrorListener(listener);

    errorService.addError(Errors.newError("Test2"));

    assertEquals(1, integer.intValue());
}

From source file:org.jtheque.errors.ErrorServiceTest.java

@Test
@DirtiesContext//w w w .java  2 s.c o  m
public void listenerCalled() {
    final Error error = Errors.newError("Test");

    final AtomicInteger integer = new AtomicInteger(0);

    errorService.addErrorListener(new ErrorListener() {
        @Override
        public void errorOccurred(Error occuredError) {
            integer.incrementAndGet();

            assertEquals(error, occuredError);
        }
    });

    errorService.addError(error);
    assertEquals(1, integer.intValue());
}

From source file:com.ewcms.web.pubsub.ProgressSender.java

private void constructTreeGridRows(StringBuilder builder, AtomicInteger count, int partenId, Taskable task) {
    if (task.getProgress() == -1) {
        return;//from   w w w.  ja  v a  2  s. com
    }

    if (count.get() != 0) {
        builder.append(",");
    }
    int id = count.incrementAndGet();
    builder.append("{");
    builder.append("\"id\":").append(id);
    builder.append(",\"taskId\":\"").append(task.getId()).append("\"");
    builder.append(",\"name\":\"").append(task.getDescription()).append("\"");
    builder.append(",\"username\":\"").append(task.getUsername()).append("\"");
    builder.append(",\"progress\":").append(task.getProgress());
    if (partenId != -1) {
        builder.append(",\"_parentId\":").append(partenId);
    }
    builder.append("}");

    for (Taskable child : task.getDependenceTasks()) {
        constructTreeGridRows(builder, count, id, child);
    }
}

From source file:com.xiaomi.linden.file.TestFileChangeWatcher.java

@Test
public void testFileChangeWatcher() throws IOException, InterruptedException {
    final AtomicInteger events = new AtomicInteger(0);
    final Function<String, Object> callback = new Function<String, Object>() {
        @Override/* w ww .j av a 2  s  .  co  m*/
        public String apply(String absolutePath) {
            events.incrementAndGet();
            return null;
        }
    };

    File dir = new File("tmp");
    if (!dir.exists()) {
        dir.mkdir();
    }

    File file = new File("tmp/test.txt");
    file.createNewFile();

    fileChangeWatcher = new FileChangeWatcher(file.getAbsolutePath(), callback, 10);
    fileChangeWatcher.start();
    directoryChangeWatcher = new DirectoryChangeWatcher(dir.getAbsolutePath(), callback, 10);
    directoryChangeWatcher.start();

    Files.write("Hello", file, Charsets.UTF_8);
    Thread.sleep(10 * 1000);
    Assert.assertEquals(2, events.get());

    FileUtils.deleteQuietly(file);
    FileUtils.deleteDirectory(dir);
}

From source file:org.apache.hadoop.mp.util.Machine.java

/** Compute sigma */
private static <C extends MachineComputable<C, R>, R extends MachineComputable.Result<R>> void compute(
        final C sigma, final int nThreads, final TaskInputOutputContext<?, ?, NullWritable, R> context)
        throws IOException, InterruptedException {
    final JavaUtil.Timer timer = new JavaUtil.Timer(true, true);
    final String s = "sigma = " + sigma;
    timer.tick(s);/*from   w w w .  j a v a  2 s.c o m*/
    context.setStatus(s);

    final List<C> parts = sigma.partition(nThreads);

    final List<Runner<C, R>> runners = new ArrayList<Runner<C, R>>(parts.size());
    final AtomicInteger count = new AtomicInteger(0);

    final int base = nThreads / parts.size();
    final int remainder = nThreads % parts.size();

    //compute each part
    for (int i = 0; i < parts.size(); i++) {
        final int t = base + (i < remainder ? 1 : 0);
        final Runner<C, R> r = new Runner<C, R>(parts.get(i)) {
            @Override
            public void run() {
                timer.tick("START (thread=" + t + ")" + part);
                result = part.compute(t, timer);

                synchronized (count) {
                    final String s = "DONE(" + count.incrementAndGet() + "/" + parts.size() + ") " + part;
                    timer.tick(s);
                    context.setStatus(s);
                }
            }
        };
        runners.add(r);
        r.start();
    }

    //wait for each runner
    for (Runner<C, R> r : runners)
        r.join();

    final List<R> results = new ArrayList<R>();
    for (Runner<C, R> r : runners) {
        if (r.result != null)
            results.add(r.result);
        else
            timer.tick("The result is null for " + r.part);
    }
    if (results.size() < parts.size())
        timer.tick("results.size() = " + results.size() + " < parts.size() = " + parts.size());

    //combine results
    final List<R> combined = JavaUtil.combine(results);
    timer.tick("combined.size() = " + combined.size());
    for (int i = 0; i < combined.size(); i++) {
        final R r = combined.get(i);
        timer.tick(i + ") " + r);
        context.write(NullWritable.get(), r);
    }
    Print.printMemoryInfo();
}

From source file:io.bifroest.names.EnumerateDrainByTypeScheme.java

private int getNextDrainIndex(String type) {
    AtomicInteger currentCount;
    if (typeToDrainsNamedSoFar.containsKey(type)) {
        currentCount = typeToDrainsNamedSoFar.get(type);
    } else {//w  w w. ja  v a2  s.  c  o m
        currentCount = new AtomicInteger(0);
        typeToDrainsNamedSoFar.put(type, currentCount);
    }
    return currentCount.incrementAndGet();
}

From source file:com.insys.cfclient.nozzle.InfluxDBSender.java

@Async
public void sendBatch(List<String> messages) {
    log.debug("ENTER sendBatch");
    httpClient.setErrorHandler(new ResponseErrorHandler() {
        @Override//from w w w .ja v  a 2s.  c om
        public boolean hasError(ClientHttpResponse clientHttpResponse) throws IOException {
            return clientHttpResponse.getRawStatusCode() > 399;
        }

        @Override
        public void handleError(ClientHttpResponse clientHttpResponse) throws IOException {

        }
    });

    RetryTemplate retryable = new RetryTemplate();
    retryable.setBackOffPolicy(getBackOffPolicy());
    retryable.setRetryPolicy(new SimpleRetryPolicy(properties.getMaxRetries(),
            Collections.singletonMap(ResourceAccessException.class, true)));

    final AtomicInteger counter = new AtomicInteger(0);
    retryable.execute(retryContext -> {
        int count = counter.incrementAndGet();
        log.trace("Attempt {} to deliver this batch", count);
        final StringBuilder builder = new StringBuilder();
        messages.forEach(s -> builder.append(s).append("\n"));

        String body = builder.toString();

        RequestEntity<String> entity = new RequestEntity<>(body, HttpMethod.POST, getUri());

        ResponseEntity<String> response;

        response = httpClient.exchange(entity, String.class);

        if (response.getStatusCode() != HttpStatus.NO_CONTENT) {
            log.error("Failed to write logs to InfluxDB! Expected error code 204, got {}",
                    response.getStatusCodeValue());

            log.trace("Request Body: {}", body);
            log.trace("Response Body: {}", response.getBody());

        } else {
            log.debug("batch sent successfully!");
        }

        log.debug("EXIT sendBatch");

        return null;
    }, recoveryContext -> {
        log.trace("Failed after {} attempts!", counter.get());
        return null;
    });
}

From source file:org.jtheque.core.LifeCycleTest.java

@Test
@DirtiesContext/*  w w w  .ja va 2s  .  c o m*/
public void functionListener() {
    final AtomicInteger functionCounter = new AtomicInteger(0);

    lifeCycle.addFunctionListener(new FunctionListener() {
        @Override
        public void functionUpdated(String function) {
            functionCounter.incrementAndGet();
        }
    });

    lifeCycle.setCurrentFunction("new function");

    assertEquals(1, functionCounter.intValue());
}