Wednesday, 5 February 2020

java async

https://www.callicoder.com/java-8-completablefuture-tutorial/

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);
  }
} ---------------------------------------------------------------------------------

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);
  }
}
----------------------------------------------------------------------------------- combine example ----------------------
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);
    }
  }
}
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());

No comments:

Post a Comment