LOG.debug("Cannot configure webapp after it is started"); return; LOG.debug("Configuring web-jetty.xml"); if(web_inf!=null&&web_inf.isDirectory()) Resource jetty=web_inf.addPath("jetty8-web.xml"); if(!jetty.exists()) jetty=web_inf.addPath(JETTY_WEB_XML); if(!jetty.exists()) if(jetty.exists()) if(LOG.isDebugEnabled()) LOG.debug("Configure: "+jetty); final XmlConfiguration jetty_config = xml_attr instanceof XmlConfiguration?(XmlConfiguration)xml_attr:new XmlConfiguration(jetty.getURI().toURL()); WebAppClassLoader.runWithServerClassAccess(()->{jetty_config.configure(context);return null;});
XmlConfiguration configuration = new XmlConfiguration(configUrl); if (last!=null) configuration.getIdMap().putAll(last.getIdMap()); if (properties.size()>0) { Map foo = configuration.getProperties(); foo.putAll(properties); Object o = configuration.configure(); if (o instanceof LifeCycle) _jettys.add((LifeCycle)o);
private Server buildServerOrApplyConfiguration(String jettyConfiguration, Server server) throws Exception { // try local file first Resource jettyConfigurationFile = Resource.newResource(jettyConfiguration); if (jettyConfigurationFile == null || !jettyConfigurationFile.exists()) { // fallback to classpath jettyConfigurationFile = Resource.newClassPathResource(jettyConfiguration); if (jettyConfigurationFile == null || !jettyConfigurationFile.exists()) { throw new FileNotFoundException("Unable to find jetty configuration file either locally or on classpath '" + jettyConfiguration + "'"); } } logger.info("Applying jetty configuration '{}'", jettyConfigurationFile); try (InputStream is = jettyConfigurationFile.getInputStream()) { XmlConfiguration configuration = new XmlConfiguration(is); // create or apply to existing if (server == null) { return (Server)configuration.configure(); } else { return (Server)configuration.configure(server); } } }
private void performCustomConfiguration() throws Exception { File jettyConfig = systemEnvironment.getJettyConfigFile(); if (jettyConfig.exists()) { replaceJettyXmlIfItBelongsToADifferentVersion(jettyConfig); LOG.info("Configuring Jetty using {}", jettyConfig.getAbsolutePath()); FileInputStream serverConfiguration = new FileInputStream(jettyConfig); XmlConfiguration configuration = new XmlConfiguration(serverConfiguration); configuration.configure(server); } else { String message = String.format( "No custom jetty configuration (%s) found, using defaults.", jettyConfig.getAbsolutePath()); LOG.info(message); } }
/** * Configures some well-known properties before the XmlConfiguration reads * the configuration. * @param jetty_config The configuration object. * @param web_inf the WEB-INF location */ private void setupXmlConfiguration(WebAppContext context, XmlConfiguration jetty_config, Resource web_inf) throws IOException { jetty_config.setJettyStandardIdsAndProperties(context.getServer(),null); Map<String,String> props = jetty_config.getProperties(); props.put(PROPERTY_THIS_WEB_INF_URL, web_inf.getURI().toString()); props.put(PROPERTY_WEB_INF_URI, XmlConfiguration.normalizeURI(web_inf.getURI().toString())); props.put(PROPERTY_WEB_INF, web_inf.toString()); } }
if (LOG.isDebugEnabled()) LOG.debug("Binding: Configuring webapp context with global settings from: " + _jettyXml); LOG.warn("Binding: global context binding is enabled but no jetty-web.xml file has been registered"); Resource globalContextSettings = Resource.newResource(_jettyXml); if (globalContextSettings.exists()) XmlConfiguration jettyXmlConfig = new XmlConfiguration(globalContextSettings.getInputStream()); Resource resource = Resource.newResource(app.getOriginId()); File file = resource.getFile(); jettyXmlConfig.getIdMap().put("Server",app.getDeploymentManager().getServer()); jettyXmlConfig.getProperties().put("jetty.webapp",file.getCanonicalPath()); jettyXmlConfig.getProperties().put("jetty.webapps",file.getParentFile().getCanonicalPath()); jettyXmlConfig.configure(context);
if (LOG.isDebugEnabled()) LOG.debug("Binding: Configuring webapp context with global settings from: " + _jettyXml); LOG.warn("Binding: global context binding is enabled but no jetty-web.xml file has been registered"); Resource globalContextSettings = Resource.newResource(_jettyXml); if (globalContextSettings.exists()) XmlConfiguration jettyXmlConfig = new XmlConfiguration(globalContextSettings.getInputStream()); jettyXmlConfig.configure(context);
URL url = Resource.newResource(arg).getURL(); log.info("Applying configuration: {}", url); XmlConfiguration configuration = new XmlConfiguration(url); if (last != null) { configuration.getIdMap().putAll(last.getIdMap()); configuration.getProperties().putAll(props); Object component = configuration.configure(); if (component instanceof LifeCycle) { components.add((LifeCycle) component); connectorManager = new ConnectorManager(server, last.getIdMap());
public void configure (WebAppContext context) throws Exception if (LOG.isDebugEnabled()) LOG.debug("Created java:comp/env for webapp "+context.getContextPath()); if(web_inf!=null && web_inf.isDirectory()) org.eclipse.jetty.util.resource.Resource jettyEnv = web_inf.addPath("jetty-env.xml"); if(jettyEnv.exists()) jettyEnvXmlUrl = jettyEnv.getURL(); XmlConfiguration configuration = new XmlConfiguration(jettyEnvXmlUrl); configuration.configure(context);
LOG.debug("org.eclipse.jetty.start.Config properties = {}",properties); LOG.ignore(e); LOG.warn(e); properties.load(Resource.newResource(args[i]).getInputStream()); XmlConfiguration configuration = new XmlConfiguration(Resource.newResource(args[i]).getURL()); if (last != null) configuration.getIdMap().putAll(last.getIdMap()); if (properties.size() > 0) configuration.getProperties().putAll(props); obj[i] = configuration.configure(); last = configuration;
vClass[0] = value.getClass(); if (LOG.isDebugEnabled()) LOG.debug("XML " + (obj != null?obj.toString():oClass.getName()) + "." + name + "(" + value + ")"); LOG.ignore(e); _configuration.initializeDefaults(arg[0]); set.invoke(obj,arg); return;
if (LOG.isDebugEnabled()) LOG.debug("XML get " + name); _configuration.getIdMap().put(id,obj); return obj;
LOG.debug("Context classloader = " + cl); try Resource res = findFile(filename, jettyHome, overrideBundleInstallLocation, _bundle); if (res != null) contextXmlUrl = res.getURL(); LOG.info("Applying " + contextXmlUrl + " to " + _webApp); XmlConfiguration xmlConfiguration = new XmlConfiguration(contextXmlUrl); WebAppClassLoader.runWithServerClassAccess(()-> xmlConfiguration.getIdMap().put("Server",getDeploymentManager().getServer()); properties.put(OSGiWebappConstants.JETTY_BUNDLE_ROOT, rootResource.toString()); properties.put(OSGiServerConstants.JETTY_HOME, (String)getDeploymentManager().getServer().getAttribute(OSGiServerConstants.JETTY_HOME)); xmlConfiguration.getProperties().putAll(properties); xmlConfiguration.configure(_webApp); return null; });
properties.load(Resource.newResource(arg).getInputStream()); XmlConfiguration configuration = new XmlConfiguration(Resource.newResource(args[i]).getURI().toURL()); if (last != null) configuration.getIdMap().putAll(last.getIdMap()); if (properties.size() > 0) configuration.getProperties().putAll(props); Object obj = configuration.configure(); if (obj!=null && !objects.contains(obj)) objects.add(obj);
Resource resource = Resource.newResource(filename); if (!resource.exists()) { return null; XmlConfiguration xmlConfiguration = new XmlConfiguration(resource.getURL()); HashMap properties = new HashMap(); properties.put("Server", _contexts.getServer()); xmlConfiguration.setProperties(properties); ContextHandler context = (ContextHandler) xmlConfiguration.configure();
if (war.isDirectory()) error("war file is directory"); if (!dir.exists()) dir.getFile().mkdirs(); JarResource.newJarResource(war).copyTo(dir.getFile()); if (xml.isDirectory() || !xml.toString().toLowerCase(Locale.ENGLISH).endsWith(".xml")) error("Bad context.xml: "+xml); XmlConfiguration xmlConfiguration = new XmlConfiguration(xml.getURL()); xmlConfiguration.configure(webapp); webapp.setResourceBase(dir.getFile().getAbsolutePath());
public void afterPropertiesSet() throws Exception { Resource configXml = Resource.newSystemResource(config); XmlConfiguration configuration = new XmlConfiguration(configXml.getInputStream()); server = (Server) configuration.configure(); Integer port = getPort(); if (port != null && port > 0) { Connector[] connectors = server.getConnectors(); for (Connector connector : connectors) { connector.setPort(port); } } Handler handler = server.getHandler(); if (handler != null && handler instanceof ServletContextHandler) { ServletContextHandler servletHandler = (ServletContextHandler) handler; servletHandler.getInitParams().put("org.eclipse.jetty.servlet.Default.resourceBase", htdocsDir); } server.start(); if (logger.isInfoEnabled()) { logger.info("##Jetty Embed Server is startup!"); } }
public void configureJetty () throws Exception LOG.debug("Starting Jetty Server ..."); XmlConfiguration xmlConfiguration = new XmlConfiguration(Resource.toURL(contextXml)); xmlConfiguration.getIdMap().put("Server",server); xmlConfiguration.configure(webApp);
public static HttpClient get(@SuppressWarnings("unused") WebSocketContainerScope scope) { URL resource = Thread.currentThread().getContextClassLoader().getResource("jetty-websocket-httpclient.xml"); if (resource == null) { return null; } try (InputStream in = resource.openStream()) { XmlConfiguration configuration = new XmlConfiguration(in); return (HttpClient) configuration.configure(); } catch (Throwable t) { Log.getLogger(XmlBasedHttpClientProvider.class).warn("Unable to load: " + resource, t); } return null; } }
public void applyJettyXml() throws Exception { if (jettyXmls == null) return; for ( File xmlFile : jettyXmls ) { LOG.info( "Configuring Jetty from xml configuration file = " + xmlFile.getCanonicalPath() ); XmlConfiguration xmlConfiguration = new XmlConfiguration(Resource.toURL(xmlFile)); xmlConfiguration.configure(this.server); } }