Example usage for org.springframework.util.concurrent ListenableFutureCallback ListenableFutureCallback

List of usage examples for org.springframework.util.concurrent ListenableFutureCallback ListenableFutureCallback

Introduction

In this page you can find the example usage for org.springframework.util.concurrent ListenableFutureCallback ListenableFutureCallback.

Prototype

ListenableFutureCallback

Source Link

Usage

From source file:net.dryuf.concurrent.benchmark.SinglePostListenerBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)/*w w w .  ja v  a 2s  .  c o  m*/
@Measurement(iterations = 1, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    for (long i = 0; i < COUNT; ++i) {
        org.springframework.util.concurrent.ListenableFutureTask<Integer> future = new org.springframework.util.concurrent.ListenableFutureTask<Integer>(
                () -> {
                    return 0;
                });
        future.run();
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
}

From source file:net.dryuf.concurrent.benchmark.SinglePreListenerBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)/*from  w  ww.j  a  v  a 2 s  . co  m*/
@Measurement(iterations = 2, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    for (long i = 0; i < COUNT; ++i) {
        org.springframework.util.concurrent.ListenableFutureTask<Integer> future = new org.springframework.util.concurrent.ListenableFutureTask<Integer>(
                () -> {
                    return 0;
                });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.run();
    }
}

From source file:net.dryuf.concurrent.benchmark.SinglePreListenerAsyncBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)//from ww w. j  av a2 s .c o m
@Measurement(iterations = 2, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    org.springframework.util.concurrent.ListenableFutureTask[] array = BenchmarkSupport
            .populateSpringFutureArray(COUNT);
    for (org.springframework.util.concurrent.ListenableFutureTask f : array) {
        f.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
    BenchmarkSupport.threadedRunFutures(array);
    // skip futures.get() as we already handled in listeners
}

From source file:net.dryuf.concurrent.benchmark.SinglePostListenerAsyncBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)/*from   w  ww  .j a  v  a 2  s.  co  m*/
@Measurement(iterations = 2, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    org.springframework.util.concurrent.ListenableFutureTask<Integer>[] array = BenchmarkSupport
            .populateSpringFutureArray(COUNT);
    BenchmarkSupport.threadedRunFutures(array);
    for (org.springframework.util.concurrent.ListenableFutureTask<Integer> f : array) {
        f.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
    // skip futures.get() as we already handled in listeners
}

From source file:net.dryuf.concurrent.benchmark.MixedListenerBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)//from  w  ww.  j ava2s. c o m
@Measurement(iterations = 1, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    for (long i = 0; i < COUNT; ++i) {
        org.springframework.util.concurrent.ListenableFutureTask<Integer> future = new org.springframework.util.concurrent.ListenableFutureTask<Integer>(
                () -> {
                    return 0;
                });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.run();
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
}

From source file:net.dryuf.concurrent.benchmark.DoublePreListenerBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)// www  .j a v  a 2s .  c o m
@Measurement(iterations = 1, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    for (long i = 0; i < COUNT; ++i) {
        org.springframework.util.concurrent.ListenableFutureTask<Integer> future = new org.springframework.util.concurrent.ListenableFutureTask<Integer>(
                () -> {
                    return 0;
                });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.run();
    }
}

From source file:net.dryuf.concurrent.benchmark.DoublePreListenerAsyncBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)/*from   w ww  .j a v a2s .  c  om*/
@Measurement(iterations = 2, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    org.springframework.util.concurrent.ListenableFutureTask[] array = BenchmarkSupport
            .populateSpringFutureArray(COUNT);
    for (org.springframework.util.concurrent.ListenableFutureTask f : array) {
        f.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        f.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
    BenchmarkSupport.threadedRunFutures(array);
    // skip futures.get() as we already handled in listeners
}

From source file:net.dryuf.concurrent.benchmark.MixedListenerAsyncBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)//from w w  w.  j a va 2 s  .  c  o m
@Measurement(iterations = 2, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    org.springframework.util.concurrent.ListenableFutureTask[] array = BenchmarkSupport
            .populateSpringFutureArray(COUNT);
    for (org.springframework.util.concurrent.ListenableFutureTask f : array) {
        f.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
    BenchmarkSupport.threadedRunFutures(array);
    for (org.springframework.util.concurrent.ListenableFutureTask f : array) {
        f.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
    }
    // skip futures.get() as we already handled in listeners
}

From source file:net.dryuf.concurrent.benchmark.TriplePreListenerBenchmark.java

@Benchmark
@Warmup(iterations = WARMUP_ITERATIONS)/*w ww  . j av  a 2s .com*/
@Measurement(iterations = 1, batchSize = 1)
@Fork(warmups = 1, value = 1)
public void benchmarkSpring() throws ExecutionException, InterruptedException {
    for (long i = 0; i < COUNT; ++i) {
        org.springframework.util.concurrent.ListenableFutureTask<Integer> future = new org.springframework.util.concurrent.ListenableFutureTask<Integer>(
                () -> {
                    return 0;
                });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.addCallback(new ListenableFutureCallback<Integer>() {
            @Override
            public void onFailure(Throwable ex) {
            }

            @Override
            public void onSuccess(Integer result) {
            }
        });
        future.run();
    }
}

From source file:at.ac.tuwien.infosys.Balancer.java

@RequestMapping(value = "/provision/{nrOfDevices}/{componentName}/{version}", method = RequestMethod.GET)
public ResponseEntity<String> startProvisioning(@PathVariable Integer nrOfDevices,
        @PathVariable String componentName, @PathVariable String version) {

    logger.info("Start provisioning of " + nrOfDevices + " device(s)!");

    if (nrOfDevices <= 0)
        return new ResponseEntity<String>(HttpStatus.BAD_REQUEST);

    // get List of devices to provision
    List<ProvisionRequest> toProvision = nodeManager.provision(nrOfDevices);

    logger.info("Selected devices to be provisioned: " + toProvision);

    List<String> fullDeviceList = new ArrayList<String>();

    // save time stamp before provisioning is triggered
    long startedProvisiong = System.currentTimeMillis();
    // invoke each node to start provisioning
    logger.info("Start contacting nodes and send provisioning request!");
    for (ProvisionRequest request : toProvision) {

        List<String> deviceIds = request.getDevices();

        String builderUrl = "http://" + request.getNode() + ":" + builderPort + builderContext + builderPath;

        logger.info("Contact node: " + builderUrl + " to provision: " + deviceIds);

        DeviceUpdateRequest updateRequest = new DeviceUpdateRequest(deviceIds, componentName, version);

        updateRequest.setPush(true);/*from   w  w  w. ja  v  a 2  s .  c  o m*/

        // use asynchronous rest-template to not block
        ListenableFuture<ResponseEntity<String>> result = asyncRestTemplate.postForEntity(builderUrl,
                new HttpEntity<DeviceUpdateRequest>(new DeviceUpdateRequest(deviceIds, componentName, version)),
                String.class);
        result.addCallback(new ListenableFutureCallback<ResponseEntity<String>>() {
            @Override
            public void onSuccess(ResponseEntity<String> result) {
                logger.info("Received result from node: " + result.getBody());
            }

            @Override
            public void onFailure(Throwable t) {
                logger.severe("Error occured while contacting node: " + t.getMessage());
            }
        });

        // add currently provisioned devices to the overall list
        fullDeviceList.addAll(deviceIds);
    }

    logger.info("Finished contacting nodes!");

    // initiate the tracking phase of the provisioning
    provisioningLogger.startLogging(fullDeviceList, startedProvisiong);

    return new ResponseEntity<String>(
            "Successfully triggered provisioning of: " + fullDeviceList.size() + " devices!",
            HttpStatus.ACCEPTED);
}