From 56af2a73189a06a09aa85281493c6bd9b5efe979 Mon Sep 17 00:00:00 2001 From: Harihar Das Date: Sun, 15 Oct 2017 08:04:13 +0530 Subject: [PATCH 1/2] =?UTF-8?q?[Harihar]=20Code=20for=20RMI=20j?= =?UTF-8?q?ava.=20http://jira.baeldung.com/brow=E2=80=A6=20(#2729)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Harihar] Code for RMI java. http://jira.baeldung.com/browse/BAEL-1209 * [Harihar] Use specific exception declaration --- rmi/client.policy | 3 +++ rmi/server.policy | 3 +++ rmi/src/org/baeldung/Client.java | 20 +++++++++++++++++ .../org/baeldung/RandomNumberGenerator.java | 8 +++++++ .../baeldung/RandomNumberGeneratorEngine.java | 10 +++++++++ rmi/src/org/baeldung/Server.java | 22 +++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 rmi/client.policy create mode 100644 rmi/server.policy create mode 100644 rmi/src/org/baeldung/Client.java create mode 100644 rmi/src/org/baeldung/RandomNumberGenerator.java create mode 100644 rmi/src/org/baeldung/RandomNumberGeneratorEngine.java create mode 100644 rmi/src/org/baeldung/Server.java diff --git a/rmi/client.policy b/rmi/client.policy new file mode 100644 index 0000000000..5d74bde76d --- /dev/null +++ b/rmi/client.policy @@ -0,0 +1,3 @@ +grant { + permission java.security.AllPermission; +}; \ No newline at end of file diff --git a/rmi/server.policy b/rmi/server.policy new file mode 100644 index 0000000000..5d74bde76d --- /dev/null +++ b/rmi/server.policy @@ -0,0 +1,3 @@ +grant { + permission java.security.AllPermission; +}; \ No newline at end of file diff --git a/rmi/src/org/baeldung/Client.java b/rmi/src/org/baeldung/Client.java new file mode 100644 index 0000000000..0376952bab --- /dev/null +++ b/rmi/src/org/baeldung/Client.java @@ -0,0 +1,20 @@ +package org.baeldung; + +import java.rmi.NotBoundException; +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; + +public class Client { + public static void main(String[] args) throws RemoteException, NotBoundException { + System.setProperty("java.security.policy", "file:./client.policy"); + if (System.getSecurityManager() == null) { + System.setSecurityManager(new SecurityManager()); + } + String name = "RandomNumberGenerator"; + Registry registry = LocateRegistry.getRegistry(); + RandomNumberGenerator randomNumberGenerator = (RandomNumberGenerator) registry.lookup(name); + int number = randomNumberGenerator.get(); + System.out.println("Received random number:" + number); + } +} diff --git a/rmi/src/org/baeldung/RandomNumberGenerator.java b/rmi/src/org/baeldung/RandomNumberGenerator.java new file mode 100644 index 0000000000..50e49d2652 --- /dev/null +++ b/rmi/src/org/baeldung/RandomNumberGenerator.java @@ -0,0 +1,8 @@ +package org.baeldung; + +import java.rmi.Remote; +import java.rmi.RemoteException; + +public interface RandomNumberGenerator extends Remote{ + int get() throws RemoteException; +} diff --git a/rmi/src/org/baeldung/RandomNumberGeneratorEngine.java b/rmi/src/org/baeldung/RandomNumberGeneratorEngine.java new file mode 100644 index 0000000000..04d90b2ff9 --- /dev/null +++ b/rmi/src/org/baeldung/RandomNumberGeneratorEngine.java @@ -0,0 +1,10 @@ +package org.baeldung; + +import java.rmi.RemoteException; + +public class RandomNumberGeneratorEngine implements RandomNumberGenerator { + @Override + public int get() throws RemoteException { + return (int) (100 * Math.random()); + } +} diff --git a/rmi/src/org/baeldung/Server.java b/rmi/src/org/baeldung/Server.java new file mode 100644 index 0000000000..8e613cb6bb --- /dev/null +++ b/rmi/src/org/baeldung/Server.java @@ -0,0 +1,22 @@ +package org.baeldung; + +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.rmi.server.UnicastRemoteObject; + +public class Server { + public static void main(String[] args) throws RemoteException { + System.setProperty("java.security.policy", "file:./server.policy"); + if (System.getSecurityManager() == null) { + System.setSecurityManager(new SecurityManager()); + } + String name = "RandomNumberGenerator"; + RandomNumberGenerator randomNumberGenerator = new RandomNumberGeneratorEngine(); + RandomNumberGenerator stub = + (RandomNumberGenerator) UnicastRemoteObject.exportObject(randomNumberGenerator, 0); + Registry registry = LocateRegistry.getRegistry(); + registry.rebind(name, stub); + System.out.println("RandomNumberGenerator bound"); + } +} From 5df269f171f406a2ea6052d1c2f7bc9648a6fc56 Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 15 Oct 2017 08:22:30 +0300 Subject: [PATCH 2/2] BAEL-1041 Caffeine (#2734) * BAEL-748 quick guide to @Value * BAEL-748 changes from review * BAEL-748 inject comma-separated values into array * BAEL-768 Introduction to Netty * BAEL-768 remove commented code * BAEL-861 Introduction to Awaitility * BAEL-861 rename Test to UnitTest * BAEL-1041 Introduction in Caffeine * BAEL-1041 fix test * BAEL-1041 fix formatting * BAEL-1041 fix expected/actual order * BAEL-1041 remove trailing underscore * Formatting after merge * BAEL-1041 add spaces between data and assertions * BAEL-1041 soft values example * BAEL-1041 remove duplicate dependency * BAEL-1041 formatting fix * BAEL-1041 formatting fix * BAEL-1041 use logger instead of sout --- .../src/main/java/com/baeldung/caffeine/DataObject.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/src/main/java/com/baeldung/caffeine/DataObject.java b/libraries/src/main/java/com/baeldung/caffeine/DataObject.java index 2a8b60b045..a90b3e9f21 100644 --- a/libraries/src/main/java/com/baeldung/caffeine/DataObject.java +++ b/libraries/src/main/java/com/baeldung/caffeine/DataObject.java @@ -1,9 +1,13 @@ package com.baeldung.caffeine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + final class DataObject { private final String data; private static int objectCounter = 0; + private static final Logger log = LoggerFactory.getLogger(DataObject.class); private DataObject(String data) { this.data = data; @@ -22,7 +26,7 @@ final class DataObject { public static DataObject get(String data) { objectCounter++; - System.out.println(String.format("Initializing DataObject#%d with data '%s'", objectCounter, data)); + log.info("Init DataObject#{} with '{}'", objectCounter, data); return new DataObject(data); } }