Skip to content
Snippets Groups Projects
Commit db889d33 authored by Felix Sidokhine's avatar Felix Sidokhine
Browse files

fixed javassist issue

parent 8b1254b6
Branches
Tags
No related merge requests found
......@@ -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);
......
......@@ -28,6 +28,8 @@ import com.jsoniter.output.EncodingMode;
import com.jsoniter.output.JsonStream;
import com.jsoniter.spi.DecodingMode;
import com.jsoniter.spi.JsoniterSpi;
import javassist.ClassPool;
import javassist.compiler.Javac;
import lombok.extern.slf4j.Slf4j;
import net.jami.datastore.main.DataStore;
import net.jami.jams.common.authentication.AuthenticationSourceType;
......@@ -69,15 +71,16 @@ public class Server {
public static AppUpdater appUpdater;
public Server(AppUpdater appUpdater, String port, String serverCertificate, String serverPrivateKey) {
Server.appUpdater = appUpdater;
JsoniterRegistry.initCodecs();
Server.appUpdater = appUpdater;
String[] args = {port, serverCertificate, serverPrivateKey};
main(args);
}
public static void main(String[] args) {
//Start tomcat.
//This is a fix to drop old cached stuff from the tomcat classloader.
ClassPool.getDefault().clearImportedPackages();
switch (args.length) {
case 0:
tomcatLauncher = new TomcatLauncher(8080);
......
......@@ -27,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import net.jami.jams.ca.JamsCA;
import net.jami.jams.common.utils.LibraryLoader;
import net.jami.jams.server.Server;
import org.apache.catalina.Context;
import org.apache.catalina.WebResourceRoot;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.core.StandardContext;
......@@ -51,7 +52,8 @@ import static net.jami.jams.server.Server.certificateAuthority;
@Slf4j
public class TomcatLauncher {
private final Tomcat tomcat = new Tomcat();
private static final Tomcat tomcat = new Tomcat();
private static StandardContext context;
public TomcatLauncher(int port) {
tomcat.getService().addConnector(TomcatConnectorFactory.getNoSSLConnector(port));
......@@ -79,7 +81,7 @@ public class TomcatLauncher {
public void startServer() {
String jarName = System.getProperty("user.dir") + File.separator + "jams-server.jar";
log.info("JAR Resource File = " + jarName);
StandardContext context = (StandardContext) tomcat.addWebapp("", new File(System.getProperty("user.dir")).getAbsolutePath());
context = (StandardContext) tomcat.addWebapp("", new File(System.getProperty("user.dir")).getAbsolutePath());
context.getJarScanner().setJarScanFilter((jarScanType, s) -> false);
log.info("Serving application from: " + new File(System.getProperty("user.dir")).getAbsolutePath());
......@@ -123,6 +125,7 @@ public class TomcatLauncher {
synchronized (tomcat) {
certificateAuthority.shutdownThreads();
tomcat.stop();
context.destroy();
tomcat.destroy();
}
} catch (Exception e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment