diff --git a/ambassador/src/main/java/com/iluwatar/ambassador/App.java b/ambassador/src/main/java/com/iluwatar/ambassador/App.java index 32c5f0f1c..e4b4d392a 100644 --- a/ambassador/src/main/java/com/iluwatar/ambassador/App.java +++ b/ambassador/src/main/java/com/iluwatar/ambassador/App.java @@ -41,14 +41,13 @@ package com.iluwatar.ambassador; */ public class App { - /** - * Entry point - */ - public static void main(String[] args) { - - Client host1 = new Client(); - Client host2 = new Client(); - host1.useService(12); - host2.useService(73); - } + /** + * Entry point + */ + public static void main(String[] args) { + Client host1 = new Client(); + Client host2 = new Client(); + host1.useService(12); + host2.useService(73); + } } diff --git a/ambassador/src/main/java/com/iluwatar/ambassador/Client.java b/ambassador/src/main/java/com/iluwatar/ambassador/Client.java index 39c0e7273..eb02b9ee3 100644 --- a/ambassador/src/main/java/com/iluwatar/ambassador/Client.java +++ b/ambassador/src/main/java/com/iluwatar/ambassador/Client.java @@ -27,15 +27,15 @@ package com.iluwatar.ambassador; */ public class Client { - private ServiceAmbassador serviceAmbassador; + private ServiceAmbassador serviceAmbassador; - Client() { - serviceAmbassador = new ServiceAmbassador(); - } + Client() { + serviceAmbassador = new ServiceAmbassador(); + } - long useService(int value) { - long result = serviceAmbassador.doRemoteFunction(value); - System.out.println(result); - return result; - } + long useService(int value) { + long result = serviceAmbassador.doRemoteFunction(value); + System.out.println(result); + return result; + } } diff --git a/ambassador/src/main/java/com/iluwatar/ambassador/RemoteService.java b/ambassador/src/main/java/com/iluwatar/ambassador/RemoteService.java index 668e776ce..cd34ae398 100644 --- a/ambassador/src/main/java/com/iluwatar/ambassador/RemoteService.java +++ b/ambassador/src/main/java/com/iluwatar/ambassador/RemoteService.java @@ -29,35 +29,35 @@ import static java.lang.Thread.sleep; */ public class RemoteService implements RemoteServiceInterface { - private static RemoteService service = null; + private static RemoteService service = null; - static synchronized RemoteService getRemoteService() { - if (service == null) { - service = new RemoteService(); - } - return service; + static synchronized RemoteService getRemoteService() { + if (service == null) { + service = new RemoteService(); } + return service; + } - private RemoteService() { + private RemoteService() { + } + + /** + * Remote function takes a value and multiplies it by 10 taking a random amount of time. + * Will sometimes return -1. This immitates connectivity issues a client might have to account for. + * @param value integer value to be multiplied. + * @return if waitTime is more than 200ms, it returns value * 10, otherwise -1. + */ + @Override + public long doRemoteFunction(int value) { + + long waitTime = (long) Math.floor(Math.random() * 1000); + + try { + sleep(waitTime); + } catch (InterruptedException e) { + e.printStackTrace(); } - - /** - * Remote function takes a value and multiplies it by 10 taking a random amount of time. - * Will sometimes return -1. This immitates connectivity issues a client might have to account for. - * @param value integer value to be multiplied. - * @return if waitTime is more than 200ms, it returns value * 10, otherwise -1. - */ - @Override - public long doRemoteFunction(int value) { - - long waitTime = (long) Math.floor(Math.random() * 1000); - - try { - sleep(waitTime); - } catch (InterruptedException e) { - e.printStackTrace(); - } - return waitTime >= 200 ? value * 10 : -1; - } + return waitTime >= 200 ? value * 10 : -1; + } } diff --git a/ambassador/src/main/java/com/iluwatar/ambassador/RemoteServiceInterface.java b/ambassador/src/main/java/com/iluwatar/ambassador/RemoteServiceInterface.java index 9f1112da9..940313de3 100644 --- a/ambassador/src/main/java/com/iluwatar/ambassador/RemoteServiceInterface.java +++ b/ambassador/src/main/java/com/iluwatar/ambassador/RemoteServiceInterface.java @@ -26,6 +26,6 @@ package com.iluwatar.ambassador; * Interface shared by ({@link RemoteService}) and ({@link ServiceAmbassador}). */ interface RemoteServiceInterface { - - long doRemoteFunction(int value) throws Exception; + + long doRemoteFunction(int value) throws Exception; } diff --git a/ambassador/src/main/java/com/iluwatar/ambassador/ServiceAmbassador.java b/ambassador/src/main/java/com/iluwatar/ambassador/ServiceAmbassador.java index 77c7197ff..54426f6cc 100644 --- a/ambassador/src/main/java/com/iluwatar/ambassador/ServiceAmbassador.java +++ b/ambassador/src/main/java/com/iluwatar/ambassador/ServiceAmbassador.java @@ -36,53 +36,53 @@ import static java.lang.Thread.sleep; */ public class ServiceAmbassador implements RemoteServiceInterface { - private static final Logger LOGGER = LoggerFactory.getLogger(ServiceAmbassador.class); - private static final int RETRIES = 3; - private static final int DELAY_MS = 3000; + private static final Logger LOGGER = LoggerFactory.getLogger(ServiceAmbassador.class); + private static final int RETRIES = 3; + private static final int DELAY_MS = 3000; - ServiceAmbassador() { + ServiceAmbassador() { - } + } - @Override - public long doRemoteFunction(int value) { + @Override + public long doRemoteFunction(int value) { - return safeCall(value); - } + return safeCall(value); + } - private long checkLatency(int value) { - RemoteService service = RemoteService.getRemoteService(); - long startTime = System.currentTimeMillis(); - long result = service.doRemoteFunction(value); - long timeTaken = System.currentTimeMillis() - startTime; + private long checkLatency(int value) { + RemoteService service = RemoteService.getRemoteService(); + long startTime = System.currentTimeMillis(); + long result = service.doRemoteFunction(value); + long timeTaken = System.currentTimeMillis() - startTime; - LOGGER.info("Time taken (ms): " + timeTaken); - return result; - } + LOGGER.info("Time taken (ms): " + timeTaken); + return result; + } - private long safeCall(int value) { + private long safeCall(int value) { - int retries = 0; - long result = -1; + int retries = 0; + long result = -1; - for (int i = 0; i < RETRIES; i++) { + for (int i = 0; i < RETRIES; i++) { - if (retries >= RETRIES) { - return -1; - } + if (retries >= RETRIES) { + return -1; + } - if ((result = checkLatency(value)) == -1) { - LOGGER.info("Failed to reach remote: (" + (i + 1) + ")"); - retries++; - try { - sleep(DELAY_MS); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } else { - break; - } + if ((result = checkLatency(value)) == -1) { + LOGGER.info("Failed to reach remote: (" + (i + 1) + ")"); + retries++; + try { + sleep(DELAY_MS); + } catch (InterruptedException e) { + e.printStackTrace(); } - return result; + } else { + break; + } } + return result; + } }