diff --git a/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java b/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java index f4daa077199cab962e0adb735eb61a043c462847..543a45cbad80578a4d245c7b5f9a7c75bb1d9cf0 100644 --- a/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java +++ b/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java @@ -79,12 +79,13 @@ public class JamsCA implements CertificateAuthority { crlLifetime = config.getCrlLifetime(); userLifetime = config.getUserLifetime(); deviceLifetime = config.getDeviceLifetime(); - crlWorker = new CRLWorker(CA.getPrivateKey(), CA.getCertificate()); - try { - ocspWorker = new OCSPWorker(OCSP.getPrivateKey(), OCSP.getCertificate(), crlWorker); - } - catch (Exception e){ - log.error("Could not start OCSP request processor with error {}",e.getMessage()); + if(ca != null && ocsp != null) { + crlWorker = new CRLWorker(CA.getPrivateKey(), CA.getCertificate()); + try { + ocspWorker = new OCSPWorker(OCSP.getPrivateKey(), OCSP.getCertificate(), crlWorker); + } catch (Exception e) { + log.error("Could not start OCSP request processor with error {}", e.getMessage()); + } } } diff --git a/jams-ca/src/main/java/net/jami/jams/ca/workers/crl/CRLWorker.java b/jams-ca/src/main/java/net/jami/jams/ca/workers/crl/CRLWorker.java index 07f55b022eb6f035ea57c4db95d1e89ab61bbbbb..5dea70100df5627b1f35cf79bcf516caa714e55a 100644 --- a/jams-ca/src/main/java/net/jami/jams/ca/workers/crl/CRLWorker.java +++ b/jams-ca/src/main/java/net/jami/jams/ca/workers/crl/CRLWorker.java @@ -51,7 +51,6 @@ public class CRLWorker extends X509Worker<RevocationRequest> { public CRLWorker(PrivateKey privateKey, X509Certificate certificate) { super(privateKey, certificate); - if(privateKey == null || certificate == null) return; this.setDaemon(true); this.start(); //TODO: The CRL needs to be loaded from memory diff --git a/jams-launcher/src/main/java/launcher/AppStarter.java b/jams-launcher/src/main/java/launcher/AppStarter.java index 51c89bfcd07827ab3bdd1ed6af155240f2f5f250..ec9f3da234a716fe219353972ff319bdd02f0742 100644 --- a/jams-launcher/src/main/java/launcher/AppStarter.java +++ b/jams-launcher/src/main/java/launcher/AppStarter.java @@ -86,7 +86,7 @@ public class AppStarter extends Thread { doUpdate.wait(); } if(doUpdate.get()){ - Server.tomcatLauncher.stopTomcat(); + server.tomcatLauncher.stopTomcat(); server = null; //This will trigger a force reload of the lib. LibraryLoader.loadlibs(System.getProperty("user.dir"), AppStarter.class); diff --git a/jams-server/pom.xml b/jams-server/pom.xml index b0c670bf2560a16906c7ca78e6f2e0fb4f79a63b..279ea341417a2c2a29a674371fd49d8f9db0741e 100644 --- a/jams-server/pom.xml +++ b/jams-server/pom.xml @@ -15,7 +15,6 @@ <groupId>net.jami</groupId> <artifactId>cryptoengine</artifactId> <version>${revision}</version> - <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> @@ -36,25 +35,21 @@ <groupId>net.jami</groupId> <artifactId>datastore</artifactId> <version>${revision}</version> - <scope>compile</scope> </dependency> <dependency> <groupId>net.jami</groupId> <artifactId>jams-common</artifactId> <version>${revision}</version> - <scope>compile</scope> </dependency> <dependency> <groupId>net.jami</groupId> <artifactId>jami-nameserver</artifactId> <version>${revision}</version> - <scope>compile</scope> </dependency> <dependency> <groupId>net.jami</groupId> <artifactId>jami-dht</artifactId> <version>${revision}</version> - <scope>compile</scope> </dependency> <dependency> <groupId>com.nimbusds</groupId> diff --git a/jams-server/src/main/java/net/jami/jams/server/Server.java b/jams-server/src/main/java/net/jami/jams/server/Server.java index 37665303e47f7ece7bbde5ec4e4e045a7c06ad65..8d580f801b6b8d748983fb747be64f5c432c376f 100644 --- a/jams-server/src/main/java/net/jami/jams/server/Server.java +++ b/jams-server/src/main/java/net/jami/jams/server/Server.java @@ -23,6 +23,11 @@ package net.jami.jams.server; import com.jsoniter.JsonIterator; +import com.jsoniter.JsonIteratorPool; +import com.jsoniter.output.EncodingMode; +import com.jsoniter.output.JsonStream; +import com.jsoniter.spi.DecodingMode; +import com.jsoniter.spi.JsoniterSpi; import lombok.extern.slf4j.Slf4j; import net.jami.datastore.main.DataStore; import net.jami.jams.common.authentication.AuthenticationSourceType; @@ -64,12 +69,11 @@ public class Server { public static AppUpdater appUpdater; public Server(AppUpdater appUpdater, String port, String serverCertificate, String serverPrivateKey) { + Runtime.getRuntime().gc(); Server.appUpdater = appUpdater; JsoniterRegistry.initCodecs(); String[] args = {port, serverCertificate, serverPrivateKey}; - - if ((args.length > 0)) main(args); - else main(new String[]{}); + main(args); } diff --git a/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java b/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java index 04b4c675c3e3e20869a04930cc20b38aad6ca95b..6b71db3c1d02d0c967672a00b0c53c05a0816483 100644 --- a/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java +++ b/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java @@ -51,7 +51,7 @@ import static net.jami.jams.server.Server.certificateAuthority; @Slf4j public class TomcatLauncher { - private Tomcat tomcat = new Tomcat(); + private final Tomcat tomcat = new Tomcat(); public TomcatLauncher(int port) { tomcat.getService().addConnector(TomcatConnectorFactory.getNoSSLConnector(port)); @@ -109,7 +109,7 @@ public class TomcatLauncher { tomcat.start(); //Try to pop-up Web-UI if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) { - Desktop.getDesktop().browse(new URI("https://localhost:8080")); + Desktop.getDesktop().browse(new URI(tomcat.getConnector().getScheme() + "://localhost:8080")); } else { log.info("There is no graphical interface on this system - please connect remotely!"); } @@ -124,7 +124,6 @@ public class TomcatLauncher { certificateAuthority.shutdownThreads(); tomcat.stop(); tomcat.destroy(); - tomcat = null; } } catch (Exception e) { log.info("Failed to stop tomcat server with error {}", e.getMessage());