Fix creating Jetty server from config file

This commit is contained in:
Tobi Schäfer 2024-05-25 15:04:17 +02:00
parent c087cb731e
commit a943124d45
Signed by: tobi
GPG key ID: 91FAE6FE2EBAC4C8

View file

@ -16,11 +16,12 @@
package helma.main; package helma.main;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.util.resource.Resource;
import org.eclipse.jetty.util.resource.URLResourceFactory;
import org.eclipse.jetty.xml.XmlConfiguration; import org.eclipse.jetty.xml.XmlConfiguration;
import java.net.URL; import java.net.URL;
@ -36,18 +37,20 @@ public class JettyServer {
public static JettyServer init(Server server, ServerConfig config) throws IOException { public static JettyServer init(Server server, ServerConfig config) throws IOException {
File configFile = config.getConfigFile(); File configFile = config.getConfigFile();
if (configFile != null && configFile.exists()) { if (configFile != null && configFile.exists()) {
return new JettyServer(configFile.toURI().toURL()); URLResourceFactory resourceFactory = new URLResourceFactory();
Resource resource = resourceFactory.newResource(configFile.toURI());
return new JettyServer(resource);
} else if (config.hasWebsrvPort()) { } else if (config.hasWebsrvPort()) {
return new JettyServer(config.getWebsrvPort(), server); return new JettyServer(config.getWebsrvPort(), server);
} }
return null; return null;
} }
private JettyServer(URL url) throws IOException { private JettyServer(Resource resource) throws IOException {
http = new org.eclipse.jetty.server.Server(); http = new org.eclipse.jetty.server.Server();
try { try {
XmlConfiguration config = new XmlConfiguration(url); XmlConfiguration config = new XmlConfiguration(resource);
config.configure(http); config.configure(http);
} catch (IOException e) { } catch (IOException e) {