https://www.callicoder.com/java-8-completablefuture-tutorial/
https://github.com/maoyunfei/CompletableFuture-Examples/blob/master/src/main/java/com/maoyunfei/study/CompletableFutureExample7.java
---------------------------------------------------------------------------------------------
https://github.com/maoyunfei/CompletableFuture-Examples/blob/master/src/main/java/com/maoyunfei/study/CompletableFutureExample7.java
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.*;
class Main {
public static void main(String[] args) {
CompletableFuture<Void> completableFuture =
CompletableFuture.runAsync(()-> {
TimeUnit.SECONDS.sleep(60);
System.out.println("hare in the game");
});
System.out.println("lower function");
}
}
---------------------------------------------------------------------------------------------
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.*;
class Main {
public static void main(String[] args) {
String name="";
CompletableFuture<String> completableFuture = new CompletableFuture<String>();
try {
completableFuture = CompletableFuture.supplyAsync(() -> {
try {
TimeUnit.SECONDS.sleep(60);
System.out.println("hare in the game");
return "pawan";
}catch(Exception e) {
System.out.println("handle exception");
throw new IllegalStateException(e);
}
});
CompletableFuture<String> greetingFuture = completableFuture.thenApply(namedata -> {
return "Hello " + namedata;
});
// name=completableFuture.get();
System.out.println("Name"+greetingFuture.get());
} catch (Exception e) {
System.out.println("error");
}
System.out.println("lower function"+name);
}
}
---------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
combine example
----------------------
completeable feature for comobine multipale async call
--------------------------------------------------------------
CompletableFuture<Integer> contestInfromation = CompletableFuture.supplyAsync(() -> {
return contestService.getContestInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestGames = CompletableFuture.supplyAsync(() -> {
return contestService.getContestGamesInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestAssignmentInfo = CompletableFuture.supplyAsync(() -> {
return contestService.getContestAssignmentInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestTrophies = CompletableFuture.supplyAsync(() -> {
return contestService.getContestTrophiesInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestRewards = CompletableFuture.supplyAsync(() -> {
return contestService.getContestRewardsInfromationByContest(companyId, contestId);
});
CompletableFuture.allOf(contestInfromation,contestGames,contestAssignmentInfo,contestTrophies,contestRewards).join();
System.out.println("contestInfromation"+contestInfromation.get());
System.out.println("contestGames"+contestGames.get());
System.out.println("contestAssignmentInfo"+contestAssignmentInfo.get());
System.out.println("contestTrophies"+contestTrophies.get());
System.out.println("contestRewards"+contestRewards.get());
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.*;
class Main {
public static void main(String[] args) {
final String name="pawan";
CompletableFuture<String> completableFuture = new CompletableFuture<String>();
try {
completableFuture = CompletableFuture.supplyAsync(() -> {
try {
TimeUnit.SECONDS.sleep(60);
System.out.println("hare in the game");
return "pawan";
}catch(Exception e) {
System.out.println("handle exception");
throw new IllegalStateException(e);
}
}).thenApply(namedata -> {
System.out.println("Name"+namedata);
return namedata;
});
// name=completableFuture.get();
} catch (Exception e) {
System.out.println("error");
}
System.out.println("lower function"+name);
}
}
import java.util.concurrent.CompletableFuture;
import java.util.*;
import java.util.concurrent.*;
class Main {
public static void main(String[] args) {
try{
System.out.println("Hello world!");
CompletableFuture<Integer> serviceOneValue = CompletableFuture.supplyAsync(() -> {
System.out.println("pawan");
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
throw new IllegalStateException(e);
}
return 10;
});
CompletableFuture<Integer> serviceTwoValue = CompletableFuture.supplyAsync(() -> {
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
throw new IllegalStateException(e);
}
System.out.println("kumar");
return 100;
});
CompletableFuture<Integer> sumOfTwoService = serviceOneValue.thenCombine(serviceTwoValue, (serviceOneValue1, serviceTwoValue1) -> {
System.out.println("a+b");
System.out.println("a+b");
return serviceOneValue1+serviceTwoValue1;
});
System.out.println("result---data");
System.out.println("result---"+sumOfTwoService.get());
}catch(Exception e) {
System.out.println(e);
}
}
}
return contestService.getContestInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestGames = CompletableFuture.supplyAsync(() -> {
return contestService.getContestGamesInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestAssignmentInfo = CompletableFuture.supplyAsync(() -> {
return contestService.getContestAssignmentInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestTrophies = CompletableFuture.supplyAsync(() -> {
return contestService.getContestTrophiesInfromationByContest(companyId, contestId);
});
CompletableFuture<Integer> contestRewards = CompletableFuture.supplyAsync(() -> {
return contestService.getContestRewardsInfromationByContest(companyId, contestId);
});
CompletableFuture.allOf(contestInfromation,contestGames,contestAssignmentInfo,contestTrophies,contestRewards).join();
System.out.println("contestInfromation"+contestInfromation.get());
System.out.println("contestGames"+contestGames.get());
System.out.println("contestAssignmentInfo"+contestAssignmentInfo.get());
System.out.println("contestTrophies"+contestTrophies.get());
System.out.println("contestRewards"+contestRewards.get());
No comments:
Post a Comment