4

I have a embedded jetty server running. I want to inject system properties such as database uri,name,pass to server before starting up how can I do that ? The properties are in a .ini file not in the classpath. The server looks like this:

public static void main(String[] args) throws Exception {

        Server server = new Server();
        ServerConnector connector = new ServerConnector(server);
        connector.setPort(8080);
        server.addConnector(connector);

        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");

        ServletHolder servletHolder = new ServletHolder(ServletContainer.class);
        servletHolder.setInitOrder(0);
        servletHolder.setInitParameter("jersey.config.server.provider.packages", "com/server/");
        context.addServlet(servletHolder, "/*");

        context.addFilter(RequestFilter.class, "/*", EnumSet.of(DispatcherType.INCLUDE,
                DispatcherType.REQUEST, DispatcherType.ASYNC, DispatcherType.ERROR,
                DispatcherType.FORWARD));

        GzipHandler gzipHandler = new GzipHandler();
        gzipHandler.setExcludedMimeTypes("application/javascript", "application/json");

        FilterHolder corsFilterHolder = new FilterHolder(CrossOriginFilter.class);
        corsFilterHolder.setInitParameter("allowedOrigins", "*");
        corsFilterHolder.setInitParameter("allowedMethods", "OPTIONS, HEAD, GET, POST, PUT, DELETE, PATCH");
        corsFilterHolder.setInitParameter("allowedHeaders", "X-IGP");
        context.addFilter(corsFilterHolder, "/*", EnumSet.of(DispatcherType.REQUEST));

        server.setHandler(gzipHandler);
        server.setHandler(context);

        try {
            server.start();
            logger.debug("Server started");
            logger.debug(server);
            server.join();
        } catch (Throwable t) {
            logger.error(System.err);
        } finally {
            server.destroy();
        }
    }
Pranaya Behera
  • 545
  • 1
  • 9
  • 24

0 Answers0