diff --git a/monitor.observer.alpha/src/main/java/module-info.java b/monitor.observer.alpha/src/main/java/module-info.java
new file mode 100644
index 0000000..f8aaa06
--- /dev/null
+++ b/monitor.observer.alpha/src/main/java/module-info.java
@@ -0,0 +1,4 @@
+module monitor.observer.alpha {
+ requires monitor.observer;
+ exports monitor.observer.alpha;
+}
diff --git a/monitor.observer.beta/src/main/java/module-info.java b/monitor.observer.beta/src/main/java/module-info.java
new file mode 100644
index 0000000..a53c998
--- /dev/null
+++ b/monitor.observer.beta/src/main/java/module-info.java
@@ -0,0 +1,4 @@
+module monitor.observer.beta {
+ requires monitor.observer;
+ exports monitor.observer.beta;
+}
diff --git a/monitor.observer/src/main/java/module-info.java b/monitor.observer/src/main/java/module-info.java
new file mode 100644
index 0000000..68622f9
--- /dev/null
+++ b/monitor.observer/src/main/java/module-info.java
@@ -0,0 +1,3 @@
+module monitor.observer {
+ exports monitor.observer;
+}
diff --git a/monitor.rest/pom.xml b/monitor.rest/pom.xml
index 27defdb..3ef842d 100644
--- a/monitor.rest/pom.xml
+++ b/monitor.rest/pom.xml
@@ -38,6 +38,45 @@
com.google.code.findbugs
jsr305
+
+
+ com.sun.activation
+ javax.activation
+ 1.2.0
+
+
+ javax.annotation
+ javax.annotation-api
+ 1.3.1
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.0
+
+
+ com.sun.xml.bind
+ jaxb-core
+ 2.3.0
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ 2.3.0
+
+
+
+
+ maven-compiler-plugin
+
+
+ --patch-module=java.annotation=${settings.localRepository}/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
+
+
+
+
+
+
diff --git a/monitor.rest/src/main/java/module-info.java b/monitor.rest/src/main/java/module-info.java
new file mode 100644
index 0000000..ea25897
--- /dev/null
+++ b/monitor.rest/src/main/java/module-info.java
@@ -0,0 +1,14 @@
+module monitor.rest {
+ requires java.xml.bind;
+ requires java.annotation;
+
+ requires monitor.utils;
+ requires monitor.statistics;
+
+ requires spark.core;
+ requires jackson.core;
+ requires jackson.databind;
+
+ exports monitor.rest;
+ opens monitor.rest to java.xml.bind;
+}
diff --git a/monitor.statistics/src/main/java/module-info.java b/monitor.statistics/src/main/java/module-info.java
new file mode 100644
index 0000000..e8c6528
--- /dev/null
+++ b/monitor.statistics/src/main/java/module-info.java
@@ -0,0 +1,4 @@
+module monitor.statistics {
+ requires monitor.observer;
+ exports monitor.statistics;
+}
diff --git a/monitor.utils/src/main/java/module-info.java b/monitor.utils/src/main/java/module-info.java
new file mode 100644
index 0000000..3250e4a
--- /dev/null
+++ b/monitor.utils/src/main/java/module-info.java
@@ -0,0 +1,3 @@
+module monitor.utils {
+ exports monitor.utils;
+}
diff --git a/monitor.utils/src/main/java/monitor/utils/Utils.java b/monitor.utils/src/main/java/monitor/utils/Utils.java
index 7802f1f..25d2047 100644
--- a/monitor.utils/src/main/java/monitor/utils/Utils.java
+++ b/monitor.utils/src/main/java/monitor/utils/Utils.java
@@ -1,8 +1,7 @@
package monitor.utils;
-import sun.misc.BASE64Encoder;
-
import java.util.Arrays;
+import java.util.Base64;
import java.util.Optional;
import java.util.function.Supplier;
import java.util.stream.Stream;
@@ -22,7 +21,7 @@ public static Optional firstPresent(Supplier>... optionals) {
}
public static String toBase64(String content) {
- return new BASE64Encoder().encode(content.getBytes());
+ return Base64.getEncoder().encodeToString(content.getBytes());
}
}
diff --git a/monitor/src/main/java/monitor/Main.java b/monitor/src/main/java/monitor/Main.java
index 197c553..0262fee 100644
--- a/monitor/src/main/java/monitor/Main.java
+++ b/monitor/src/main/java/monitor/Main.java
@@ -11,6 +11,7 @@
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.Executors;
@@ -27,7 +28,7 @@ public class Main {
public static void main(String[] args) {
logClassPathContent();
- Monitor monitor = createMonitor();
+ var monitor = createMonitor();
MonitorServer server = MonitorServer
.create(monitor::currentStatistics)
.start();
@@ -43,9 +44,8 @@ public static void main(String[] args) {
}
private static void logClassPathContent() {
- URLClassLoader classLoader = (URLClassLoader) Main.class.getClassLoader();
- String message = stream(classLoader.getURLs())
- .map(URL::toString)
+ String[] classPath = System.getProperty("java.class.path").split(":");
+ String message = Arrays.stream(classPath)
.map(url -> "\t" + url)
.collect(joining("\n", "Class path content:\n", "\n"));
System.out.println(message);
diff --git a/move-modules.sh b/move-modules.sh
new file mode 100755
index 0000000..e9ad325
--- /dev/null
+++ b/move-modules.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+rm -rf mods
+mkdir mods
+mv app/utils.jar mods
+mv app/observer* mods
+mv app/statistics.jar mods
+mv app/rest.jar mods
+mv app/jaxb-api.jar mods
+mv app/javax.activation.jar mods
+mv app/javax.annotation-api.jar mods
+mv app/spark-core.jar mods
+mv app/jackson-core.jar mods
+mv app/jackson-databind.jar mods
diff --git a/pom.xml b/pom.xml
index 6dad25f..fc922f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,8 +11,8 @@
UTF-8
- 1.8
- 1.8
+ 11
+ 11
@@ -52,7 +52,7 @@
org.mockito
mockito-core
- 2.2.1
+ 2.18.3
org.assertj
@@ -74,7 +74,7 @@
maven-compiler-plugin
- 3.7.0
+ 3.8.0
true