From 0104b269fac0399e44d401f2895a5dff0b14a06d Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Thu, 19 Dec 2019 11:29:19 +0200 Subject: [PATCH 01/16] Initial Commit --- java-async/pom.xml | 37 +++++++++++++++ .../main/java/com/baeldung/async/Async.java | 46 +++++++++++++++++++ .../com/baeldung/async/AsyncUnitTest.java | 9 ++++ 3 files changed, 92 insertions(+) create mode 100644 java-async/pom.xml create mode 100644 java-async/src/main/java/com/baeldung/async/Async.java create mode 100644 java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java diff --git a/java-async/pom.xml b/java-async/pom.xml new file mode 100644 index 0000000000..56ff53321f --- /dev/null +++ b/java-async/pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + java-async + 0.1.0-SNAPSHOT + java-async + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + + + + + + + java-async + + + src/main/resources + true + + + + + + 1.0.3 + 3.6.1 + + + diff --git a/java-async/src/main/java/com/baeldung/async/Async.java b/java-async/src/main/java/com/baeldung/async/Async.java new file mode 100644 index 0000000000..b505077d10 --- /dev/null +++ b/java-async/src/main/java/com/baeldung/async/Async.java @@ -0,0 +1,46 @@ +package com.baeldung.async; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +public class Async { + + public static void main(String[] args) { + System.out.println("hello world!!"); + + try { + Future completableFuture = calculateAsync(); + + String result = completableFuture.get(); + + System.out.println(result); + + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ExecutionException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + CompletableFuture.runAsync(() -> { + System.out.println("This is Async"); + }); + } + + public static Future calculateAsync() throws InterruptedException { + CompletableFuture completableFuture = new CompletableFuture<>(); + + Executors.newCachedThreadPool().submit(() -> { + Thread.sleep(500); + completableFuture.complete("Hello"); + return null; + }); + + return completableFuture; + } + +} \ No newline at end of file diff --git a/java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java b/java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java new file mode 100644 index 0000000000..57a61dbfe2 --- /dev/null +++ b/java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java @@ -0,0 +1,9 @@ +package com.baeldung.async; + +public class AsyncUnitTest { + + public static void main(String[] args) { + System.out.println("hello"); + } + +} \ No newline at end of file From 9cd73de5cc9b770887f09b6cde4672762d666c57 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Wed, 1 Jan 2020 16:00:57 +0200 Subject: [PATCH 02/16] BAEL-3596 - Asynchronous Method Calls in Java --- java-async/pom.xml | 109 +++++++--- .../main/java/com/baeldung/async/Async.java | 46 ----- .../com/baeldung/async/EAAsyncExample.java | 57 ++++++ .../java/com/baeldung/async/JavaAsync.java | 186 ++++++++++++++++++ .../com/baeldung/async/AsyncUnitTest.java | 9 - 5 files changed, 323 insertions(+), 84 deletions(-) delete mode 100644 java-async/src/main/java/com/baeldung/async/Async.java create mode 100644 java-async/src/main/java/com/baeldung/async/EAAsyncExample.java create mode 100644 java-async/src/main/java/com/baeldung/async/JavaAsync.java delete mode 100644 java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java diff --git a/java-async/pom.xml b/java-async/pom.xml index 56ff53321f..17cdabbb06 100644 --- a/java-async/pom.xml +++ b/java-async/pom.xml @@ -1,37 +1,88 @@ - 4.0.0 - java-async - 0.1.0-SNAPSHOT - java-async - jar + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + java-async + java-async + jar + 1.0 - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../parent-java - + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + - - - + + + com.jcabi + jcabi-aspects + 0.22.6 + - - java-async - - - src/main/resources - true - - - + + org.aspectj + aspectjrt + 1.9.5 + runtime + - - 1.0.3 - 3.6.1 - + + com.google.guava + guava + 28.1-jre + + + + org.cactoos + cactoos + 0.43 + + + + com.ea.async + ea-async + 1.2.3 + + + + + java-async + + + src/main/resources + true + + + + + + com.jcabi + jcabi-maven-plugin + 0.14.1 + + + + ajc + + + + + + org.aspectj + aspectjtools + 1.9.1 + + + org.aspectj + aspectjweaver + 1.9.1 + + + + + diff --git a/java-async/src/main/java/com/baeldung/async/Async.java b/java-async/src/main/java/com/baeldung/async/Async.java deleted file mode 100644 index b505077d10..0000000000 --- a/java-async/src/main/java/com/baeldung/async/Async.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.baeldung.async; - -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; - -public class Async { - - public static void main(String[] args) { - System.out.println("hello world!!"); - - try { - Future completableFuture = calculateAsync(); - - String result = completableFuture.get(); - - System.out.println(result); - - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ExecutionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - - CompletableFuture.runAsync(() -> { - System.out.println("This is Async"); - }); - } - - public static Future calculateAsync() throws InterruptedException { - CompletableFuture completableFuture = new CompletableFuture<>(); - - Executors.newCachedThreadPool().submit(() -> { - Thread.sleep(500); - completableFuture.complete("Hello"); - return null; - }); - - return completableFuture; - } - -} \ No newline at end of file diff --git a/java-async/src/main/java/com/baeldung/async/EAAsyncExample.java b/java-async/src/main/java/com/baeldung/async/EAAsyncExample.java new file mode 100644 index 0000000000..c7c893e731 --- /dev/null +++ b/java-async/src/main/java/com/baeldung/async/EAAsyncExample.java @@ -0,0 +1,57 @@ +package com.baeldung.async; + +import static com.ea.async.Async.await; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; + +import com.ea.async.Async; + +public class EAAsyncExample { + + static { + Async.init(); + } + + public static void main(String[] args) throws Exception { + usingCompletableFuture(); + usingAsyncAwait(); + } + + public static void usingCompletableFuture() throws InterruptedException, ExecutionException, Exception { + CompletableFuture completableFuture = hello() + .thenComposeAsync(hello -> mergeWorld(hello)) + .thenAcceptAsync(helloWorld -> print(helloWorld)) + .exceptionally( throwable -> { + System.out.println(throwable.getCause()); + return null; + }); + completableFuture.get(); + } + + public static CompletableFuture hello() { + CompletableFuture completableFuture = CompletableFuture.supplyAsync(() -> "Hello"); + return completableFuture; + } + + public static CompletableFuture mergeWorld(String s) { + CompletableFuture completableFuture = CompletableFuture.supplyAsync(() -> { + return s + " World!"; + }); + return completableFuture; + } + + public static void print(String str) { + CompletableFuture.runAsync(() -> System.out.println(str)); + } + + private static void usingAsyncAwait() { + try { + String hello = await(hello()); + String helloWorld = await(mergeWorld(hello)); + await(CompletableFuture.runAsync(() -> print(helloWorld))); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/java-async/src/main/java/com/baeldung/async/JavaAsync.java b/java-async/src/main/java/com/baeldung/async/JavaAsync.java new file mode 100644 index 0000000000..c1c2c98550 --- /dev/null +++ b/java-async/src/main/java/com/baeldung/async/JavaAsync.java @@ -0,0 +1,186 @@ +package com.baeldung.async; + +import static com.ea.async.Async.await; + +import java.util.concurrent.Callable; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +import com.google.common.util.concurrent.AsyncCallable; +import com.google.common.util.concurrent.Callables; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; +import com.jcabi.aspects.Async; +import com.jcabi.aspects.Loggable; + +public class JavaAsync { + + static { + com.ea.async.Async.init(); + } + + private static final ExecutorService threadpool = Executors.newCachedThreadPool(); + + public static void main (String[] args) throws InterruptedException, ExecutionException { + int number = 20; + + //Thread Example + factorialUsingThread(number).start(); + + //FutureTask Example + Future futureTask = factorialUsingFutureTask(number); + System.out.println("Factorial of " + number + " is: " + futureTask.get()); + + // CompletableFuture Example + Future completableFuture = factorialUsingCompletableFuture(number); + System.out.println("Factorial of " + number + " is: " + completableFuture.get()); + + // EA Async example + System.out.println("Factorial of " + number + " is: " + factorialUsingEAAsync(number)); + + // cactoos async example + Future asyncFuture = factorialUsingCactoos(number); + System.out.println("Factorial of " + number + " is: " + asyncFuture.get()); + + // Guava example + ListenableFuture guavaFuture = factorialUsingGuavaServiceSubmit(number); + System.out.println("Factorial of " + number + " is: " + guavaFuture.get()); + + ListenableFuture guavaFutures = factorialUsingGuavaFutures(number); + System.out.println("Factorial of " + number + " is: " + guavaFutures.get()); + + // @async jcabi-aspect example + Future aspectFuture = factorialUsingJcabiAspect(number); + System.out.println("Factorial of " + number + " is: " + aspectFuture.get()); + + } + + /** + * Finds factorial of a number + * @param number + * @return + */ + public static long factorial(int number) { + long result = 1; + for(int i=number;i>0;i--) { + result *= i; + } + return result; + } + + /** + * Finds factorial of a number using Thread + * @param number + * @return + */ + @Loggable + public static Thread factorialUsingThread(int number) { + Thread newThread = new Thread(() -> { + System.out.println("Factorial of " + number + " is: " + factorial(number)); + }); + + return newThread; + } + + /** + * Finds factorial of a number using FutureTask + * @param number + * @return + */ + @Loggable + public static Future factorialUsingFutureTask(int number) { + Future futureTask = threadpool.submit(() -> factorial(number)); + + while (!futureTask.isDone()) { + System.out.println("FutureTask is not finished yet..."); + } + + return futureTask; + } + + /** + * Finds factorial of a number using CompletableFuture + * @param number + * @return + */ + @Loggable + public static Future factorialUsingCompletableFuture(int number) { + CompletableFuture completableFuture = CompletableFuture.supplyAsync(() -> factorial(number)); + return completableFuture; + } + + /** + * Finds factorial of a number using EA Async + * @param number + * @return + */ + @Loggable + public static long factorialUsingEAAsync(int number) { + CompletableFuture completableFuture = CompletableFuture.supplyAsync(() -> factorial(number)); + long result = await(completableFuture); + return result; + } + + /** + * + * Finds factorial of a number using Async of Cactoos + * @param number + * @return + * @throws InterruptedException + * @throws ExecutionException + */ + @Loggable + public static Future factorialUsingCactoos(int number) throws InterruptedException, ExecutionException { + org.cactoos.func.Async asyncFunction = new org.cactoos.func.Async(input -> factorial(input)); + Future asyncFuture = asyncFunction.apply(number); + return asyncFuture; + } + + /** + * Finds factorial of a number using Guava's ListeningExecutorService.submit() + * @param number + * @return + */ + @Loggable + public static ListenableFuture factorialUsingGuavaServiceSubmit(int number) { + ListeningExecutorService service = MoreExecutors.listeningDecorator(threadpool); + ListenableFuture factorialFuture = (ListenableFuture) service.submit(()-> factorial(number)); + return factorialFuture; + } + + /** + * Finds factorial of a number using Guava's Futures.submitAsync() + * @param number + * @return + */ + @Loggable + public static ListenableFuture factorialUsingGuavaFutures(int number) { + ListeningExecutorService service = MoreExecutors.listeningDecorator(threadpool); + AsyncCallable asyncCallable = Callables.asAsyncCallable(new Callable() { + public Long call() { + return factorial(number); + } + }, service); + return Futures.submitAsync(asyncCallable, service); + } + + /** + * + * Finds factorial of a number using @Async of jcabi-aspects + * @param number + * @return + */ + @Async + @Loggable + public static Future factorialUsingJcabiAspect(int number) { + Future factorialFuture = CompletableFuture.supplyAsync(() -> factorial(number)); + return factorialFuture; + } + +} diff --git a/java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java b/java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java deleted file mode 100644 index 57a61dbfe2..0000000000 --- a/java-async/src/main/resources/com/baeldung/async/AsyncUnitTest.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.baeldung.async; - -public class AsyncUnitTest { - - public static void main(String[] args) { - System.out.println("hello"); - } - -} \ No newline at end of file From 7b5f3dcd8c6d161265631955912a1ee30e2a1fc1 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Wed, 1 Jan 2020 16:04:42 +0200 Subject: [PATCH 03/16] space instead of tab --- java-async/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/java-async/pom.xml b/java-async/pom.xml index 17cdabbb06..ead558aeeb 100644 --- a/java-async/pom.xml +++ b/java-async/pom.xml @@ -46,6 +46,7 @@ ea-async 1.2.3 + From fde817c5e28f11fb041575cbfed34bb72dd3eb23 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Wed, 1 Jan 2020 16:14:06 +0200 Subject: [PATCH 04/16] added java-async to the pom.xml --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 63d4e04291..ded191b574 100644 --- a/pom.xml +++ b/pom.xml @@ -506,6 +506,7 @@ jackson-conversions jackson-conversions-2 jackson-custom-conversions +java-async java-collections-conversions java-collections-conversions-2 java-collections-maps @@ -1145,6 +1146,7 @@ jackson-conversions jackson-conversions-2 jackson-custom-conversions +java-async java-collections-conversions java-collections-conversions-2 java-collections-maps From 476504220ddac453e0de7bcf7af68836f647fb21 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Wed, 1 Jan 2020 16:17:46 +0200 Subject: [PATCH 05/16] code indentation --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ded191b574..d48ade6a7c 100644 --- a/pom.xml +++ b/pom.xml @@ -506,7 +506,7 @@ jackson-conversions jackson-conversions-2 jackson-custom-conversions -java-async + java-async java-collections-conversions java-collections-conversions-2 java-collections-maps @@ -1146,7 +1146,7 @@ jackson-conversions jackson-conversions-2 jackson-custom-conversions -java-async + java-async java-collections-conversions java-collections-conversions-2 java-collections-maps From 82698d28d0cf8512807f6982022288327fb9f870 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Wed, 1 Jan 2020 16:19:37 +0200 Subject: [PATCH 06/16] Update pom.xml --- java-async/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/java-async/pom.xml b/java-async/pom.xml index ead558aeeb..17cdabbb06 100644 --- a/java-async/pom.xml +++ b/java-async/pom.xml @@ -46,7 +46,6 @@ ea-async 1.2.3 - From 0e79e57e0b67bcbf8b4fbe65f0b8a478ad35fd6f Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Fri, 3 Jan 2020 14:07:40 +0200 Subject: [PATCH 07/16] pom.xml merged --- pom.xml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/pom.xml b/pom.xml index 2513380066..7df3ce208d 100644 --- a/pom.xml +++ b/pom.xml @@ -500,13 +500,6 @@ image-processing immutables - jackson - jackson-simple - jackson-annotations - jackson-exceptions - jackson-conversions - jackson-conversions-2 - jackson-custom-conversions jackson-modules java-async java-collections-conversions @@ -1143,13 +1136,6 @@ image-processing immutables - jackson - jackson-simple - jackson-annotations - jackson-exceptions - jackson-conversions - jackson-conversions-2 - jackson-custom-conversions jackson-modules java-async java-collections-conversions From 9a2b5b9ca3f440878604a7664f99e7fc65a8b361 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Sat, 4 Jan 2020 14:37:34 +0200 Subject: [PATCH 08/16] BAEL-3596 - code moved to core-java-concurrency-advanced-3 --- .../core-java-concurrency-advanced-3/pom.xml | 56 ++++++++++++ .../com/baeldung/async/EAAsyncExample.java | 0 .../java/com/baeldung/async/JavaAsync.java | 0 java-async/pom.xml | 88 ------------------- pom.xml | 2 - 5 files changed, 56 insertions(+), 90 deletions(-) rename {java-async => core-java-modules/core-java-concurrency-advanced-3}/src/main/java/com/baeldung/async/EAAsyncExample.java (100%) rename {java-async => core-java-modules/core-java-concurrency-advanced-3}/src/main/java/com/baeldung/async/JavaAsync.java (100%) delete mode 100644 java-async/pom.xml diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index df9834181f..6b9c8b2d05 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -23,6 +23,38 @@ ${assertj.version} test + + + com.jcabi + jcabi-aspects + 0.22.6 + + + + org.aspectj + aspectjrt + 1.9.5 + runtime + + + + com.google.guava + guava + 28.1-jre + + + + org.cactoos + cactoos + 0.43 + + + + com.ea.async + ea-async + 1.2.3 + + @@ -36,6 +68,30 @@ ${maven.compiler.target} + + com.jcabi + jcabi-maven-plugin + 0.14.1 + + + + ajc + + + + + + org.aspectj + aspectjtools + 1.9.1 + + + org.aspectj + aspectjweaver + 1.9.1 + + + diff --git a/java-async/src/main/java/com/baeldung/async/EAAsyncExample.java b/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/EAAsyncExample.java similarity index 100% rename from java-async/src/main/java/com/baeldung/async/EAAsyncExample.java rename to core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/EAAsyncExample.java diff --git a/java-async/src/main/java/com/baeldung/async/JavaAsync.java b/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java similarity index 100% rename from java-async/src/main/java/com/baeldung/async/JavaAsync.java rename to core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java diff --git a/java-async/pom.xml b/java-async/pom.xml deleted file mode 100644 index 17cdabbb06..0000000000 --- a/java-async/pom.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - 4.0.0 - java-async - java-async - jar - 1.0 - - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../parent-java - - - - - com.jcabi - jcabi-aspects - 0.22.6 - - - - org.aspectj - aspectjrt - 1.9.5 - runtime - - - - com.google.guava - guava - 28.1-jre - - - - org.cactoos - cactoos - 0.43 - - - - com.ea.async - ea-async - 1.2.3 - - - - - java-async - - - src/main/resources - true - - - - - - com.jcabi - jcabi-maven-plugin - 0.14.1 - - - - ajc - - - - - - org.aspectj - aspectjtools - 1.9.1 - - - org.aspectj - aspectjweaver - 1.9.1 - - - - - - - diff --git a/pom.xml b/pom.xml index 7df3ce208d..cb2fe5a929 100644 --- a/pom.xml +++ b/pom.xml @@ -501,7 +501,6 @@ immutables jackson-modules - java-async java-collections-conversions java-collections-conversions-2 java-collections-maps @@ -1137,7 +1136,6 @@ immutables jackson-modules - java-async java-collections-conversions java-collections-conversions-2 java-collections-maps From 683cb35880514cc9b069efdf600845f737edc632 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sat, 4 Jan 2020 14:38:39 +0200 Subject: [PATCH 09/16] code indentation --- core-java-modules/core-java-concurrency-advanced-3/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index 6b9c8b2d05..e4a10e223c 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -54,7 +54,6 @@ ea-async 1.2.3 - From d790355eda3f4cf99524720ce2f0eb58ad336d0b Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Sat, 4 Jan 2020 14:41:27 +0200 Subject: [PATCH 10/16] Code indentation --- .../core-java-concurrency-advanced-3/pom.xml | 96 +++++++++---------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index e4a10e223c..4eb26ed4db 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -1,30 +1,30 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 4.0.0 - core-java-concurrency-advanced-3 - 0.1.0-SNAPSHOT - core-java-concurrency-advanced-3 - jar + 4.0.0 + core-java-concurrency-advanced-3 + 0.1.0-SNAPSHOT + core-java-concurrency-advanced-3 + jar - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../../parent-java - + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + - - - org.assertj - assertj-core - ${assertj.version} - test - - - + + + org.assertj + assertj-core + ${assertj.version} + test + + + com.jcabi jcabi-aspects 0.22.6 @@ -54,20 +54,20 @@ ea-async 1.2.3 - + - - core-java-concurrency-advanced-3 - - - org.apache.maven.plugins - maven-compiler-plugin - - ${maven.compiler.source} - ${maven.compiler.target} - - - + + core-java-concurrency-advanced-3 + + + org.apache.maven.plugins + maven-compiler-plugin + + ${maven.compiler.source} + ${maven.compiler.target} + + + com.jcabi jcabi-maven-plugin 0.14.1 @@ -91,19 +91,19 @@ - - - - src/main/resources - true - - - + + + + src/main/resources + true + + + - - 3.14.0 - 1.8 - 1.8 - + + 3.14.0 + 1.8 + 1.8 + From 63dbe2dce0f46b9230b343a10fee2ca4f947150f Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sat, 4 Jan 2020 14:42:04 +0200 Subject: [PATCH 11/16] pom.xml code indentation --- core-java-modules/core-java-concurrency-advanced-3/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index 4eb26ed4db..26c01dea50 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -67,6 +67,7 @@ ${maven.compiler.target} + com.jcabi jcabi-maven-plugin From d85d65a58188367684534f906853b1177ab3fd44 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Sat, 4 Jan 2020 14:49:57 +0200 Subject: [PATCH 12/16] pom.xml code indentation --- core-java-modules/core-java-concurrency-advanced-3/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index 26c01dea50..bbb75be033 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -67,7 +67,7 @@ ${maven.compiler.target} - + com.jcabi jcabi-maven-plugin From df1f565779cf2af06ac6df2b9ac03f4f6705b214 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Sat, 4 Jan 2020 14:57:29 +0200 Subject: [PATCH 13/16] 4 spaces code indentation --- .../core-java-concurrency-advanced-3/pom.xml | 199 +++++++++--------- 1 file changed, 99 insertions(+), 100 deletions(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index bbb75be033..e5f3970de7 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -1,110 +1,109 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 4.0.0 - core-java-concurrency-advanced-3 - 0.1.0-SNAPSHOT - core-java-concurrency-advanced-3 - jar + 4.0.0 + core-java-concurrency-advanced-3 + 0.1.0-SNAPSHOT + core-java-concurrency-advanced-3 + jar - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../../parent-java - + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + - - - org.assertj - assertj-core - ${assertj.version} - test - + + + org.assertj + assertj-core + ${assertj.version} + test + + + + com.jcabi + jcabi-aspects + 0.22.6 + + + + org.aspectj + aspectjrt + 1.9.5 + runtime + + + + com.google.guava + guava + 28.1-jre + + + + org.cactoos + cactoos + 0.43 + - - com.jcabi - jcabi-aspects - 0.22.6 - + + com.ea.async + ea-async + 1.2.3 + + - - org.aspectj - aspectjrt - 1.9.5 - runtime - + + core-java-concurrency-advanced-3 + + + org.apache.maven.plugins + maven-compiler-plugin + + ${maven.compiler.source} + ${maven.compiler.target} + + + + com.jcabi + jcabi-maven-plugin + 0.14.1 + + + + ajc + + + + + + org.aspectj + aspectjtools + 1.9.1 + + + org.aspectj + aspectjweaver + 1.9.1 + + + + + + + src/main/resources + true + + + - - com.google.guava - guava - 28.1-jre - - - - org.cactoos - cactoos - 0.43 - - - - com.ea.async - ea-async - 1.2.3 - - - - - core-java-concurrency-advanced-3 - - - org.apache.maven.plugins - maven-compiler-plugin - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - com.jcabi - jcabi-maven-plugin - 0.14.1 - - - - ajc - - - - - - org.aspectj - aspectjtools - 1.9.1 - - - org.aspectj - aspectjweaver - 1.9.1 - - - - - - - src/main/resources - true - - - - - - 3.14.0 - 1.8 - 1.8 - + + 3.14.0 + 1.8 + 1.8 + From 0021e7849adc3c0d7bbeec8a45d3a75e906a555d Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Sat, 4 Jan 2020 14:59:27 +0200 Subject: [PATCH 14/16] organized imports --- .../src/main/java/com/baeldung/async/JavaAsync.java | 1 - 1 file changed, 1 deletion(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java b/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java index c1c2c98550..4f308250e2 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java +++ b/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java @@ -11,7 +11,6 @@ import java.util.concurrent.Future; import com.google.common.util.concurrent.AsyncCallable; import com.google.common.util.concurrent.Callables; -import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; From 64365791dd81f94c840e61f8e9c3bfac8790ee9f Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Mon, 6 Jan 2020 10:49:41 +0200 Subject: [PATCH 15/16] review changes --- .../src/main/java/com/baeldung/async/JavaAsync.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java b/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java index 4f308250e2..6f36f46154 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java +++ b/core-java-modules/core-java-concurrency-advanced-3/src/main/java/com/baeldung/async/JavaAsync.java @@ -127,7 +127,6 @@ public class JavaAsync { } /** - * * Finds factorial of a number using Async of Cactoos * @param number * @return @@ -170,7 +169,6 @@ public class JavaAsync { } /** - * * Finds factorial of a number using @Async of jcabi-aspects * @param number * @return From eb36131a55d70fcfc1bf0cf996a99b5ce530cac9 Mon Sep 17 00:00:00 2001 From: Anshul BANSAL Date: Thu, 9 Jan 2020 11:34:28 +0200 Subject: [PATCH 16/16] BAEL-3596 - extracted the version numbers into properties --- .../core-java-concurrency-advanced-3/pom.xml | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml index e5f3970de7..8f275f4043 100644 --- a/core-java-modules/core-java-concurrency-advanced-3/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -27,32 +27,32 @@ com.jcabi jcabi-aspects - 0.22.6 + ${jcabi-aspects.version} org.aspectj aspectjrt - 1.9.5 + ${aspectjrt.version} runtime com.google.guava guava - 28.1-jre + ${guava.version} org.cactoos cactoos - 0.43 + ${cactoos.version} com.ea.async ea-async - 1.2.3 + ${ea-async.version} @@ -70,7 +70,7 @@ com.jcabi jcabi-maven-plugin - 0.14.1 + ${jcabi-maven-plugin.version} @@ -82,12 +82,12 @@ org.aspectj aspectjtools - 1.9.1 + ${aspectjtools.version} org.aspectj aspectjweaver - 1.9.1 + ${aspectjweaver.version} @@ -104,6 +104,14 @@ 3.14.0 1.8 1.8 + 0.22.6 + 1.9.5 + 28.2-jre + 0.43 + 1.2.3 + 0.14.1 + 1.9.1 + 1.9.1