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

fixed javassist issue

parent 8b1254b6
No related branches found
No related tags found
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.
Finish editing this message first!
Please register or to comment