📄 jettycontainer.java
字号:
listener.setIdentifyListener(identifyListener); } if (props.getProperty("buffer-size") != null) { int value = 0; try { value = Integer.parseInt(props.getProperty("buffer-size").value); } catch (NumberFormatException e) { value = 0; } if (value > 0) { listener.setBufferSize(value); } } server.addListener(listener); } } else if ("request-log".equals(props.value)) { NCSARequestLog rl = new NCSARequestLog(); if (props.getProperty("filename") != null) { rl.setFilename(props.getProperty("filename").value); } if (props.getProperty("append") != null) { rl.setAppend("true".equalsIgnoreCase(props.getProperty("append").value)); } if (props.getProperty("buffered") != null) { rl.setBuffered("true".equalsIgnoreCase(props.getProperty("buffered").value)); } if (props.getProperty("extended") != null) { rl.setExtended("true".equalsIgnoreCase(props.getProperty("extended").value)); } if (props.getProperty("timezone") != null) { rl.setLogTimeZone(props.getProperty("timezone").value); } if (props.getProperty("date-format") != null) { rl.setLogDateFormat(props.getProperty("date-format").value); } if (props.getProperty("retain-days") != null) { int days = 90; try { days = Integer.parseInt(props.getProperty("retain-days").value); } catch (NumberFormatException e) { days = 90; } rl.setRetainDays(days); } server.setRequestLog(rl); } } return server; } private void setListenerOptions(ThreadedServer listener, ContainerConfig.Container.Property listenerProps) throws ContainerException { String systemHost = null; if ("default".equals(listenerProps.getProperty("type").value)) { systemHost = System.getProperty(listenerProps.name + ".host"); } if (listenerProps.getProperty("host") != null && systemHost == null) { try { listener.setHost(listenerProps.getProperty("host").value); } catch (UnknownHostException e) { throw new ContainerException(e); } } else { String host = "0.0.0.0"; if (systemHost != null) { host = systemHost; } try { listener.setHost(host); } catch (UnknownHostException e) { throw new ContainerException(e); } } String systemPort = null; if ("default".equals(listenerProps.getProperty("type").value)) { systemPort = System.getProperty(listenerProps.name + ".port"); } if (listenerProps.getProperty("port") != null && systemPort == null) { int value = 8080; try { value = Integer.parseInt(listenerProps.getProperty("port").value); } catch (NumberFormatException e) { value = 8080; } if (value == 0) value = 8080; listener.setPort(value); } else { int port = 8080; if (systemPort != null) { try { port = Integer.parseInt(systemPort); } catch (NumberFormatException e) { port = 8080; } } listener.setPort(port); } if (listenerProps.getProperty("min-threads") != null) { int value = 0; try { value = Integer.parseInt(listenerProps.getProperty("min-threads").value); } catch (NumberFormatException e) { value = 0; } if (value > 0) { listener.setMinThreads(value); } } if (listenerProps.getProperty("max-threads") != null) { int value = 0; try { value = Integer.parseInt(listenerProps.getProperty("max-threads").value); } catch (NumberFormatException e) { value = 0; } if (value > 0) { listener.setMaxThreads(value); } } if (listenerProps.getProperty("max-idle-time") != null) { int value = 0; try { value = Integer.parseInt(listenerProps.getProperty("max-idle-time").value); } catch (NumberFormatException e) { value = 0; } if (value > 0) { listener.setMaxIdleTimeMs(value); } } if (listenerProps.getProperty("linger-time") != null) { int value = 0; try { value = Integer.parseInt(listenerProps.getProperty("linger-time").value); } catch (NumberFormatException e) { value = 0; } if (value > 0) { listener.setLingerTimeSecs(value); } } } /** * @see org.ofbiz.base.container.Container#start() */ public boolean start() throws ContainerException { // start the server(s) this.initJetty(); if (servers != null) { Iterator i = servers.values().iterator(); while (i.hasNext()) { Server server = (Server) i.next(); try { server.start(); } catch (MultiException e) { Debug.logError(e, "Jetty Server Multi-Exception", module); throw new ContainerException(e); } } } return true; } /** * @see org.ofbiz.base.container.Container#stop() */ public void stop() throws ContainerException { if (servers != null) { Iterator i = servers.values().iterator(); while(i.hasNext()) { Server server = (Server) i.next(); try { server.stop(); } catch (InterruptedException e) { Debug.logWarning(e, module); } } } }}// taken from JettyPlusclass Log4jSink implements LogSink { private String _options; private transient boolean _started; public void setOptions(String filename) { _options=filename; } public String getOptions() { return _options; } public void start() throws Exception { _started=true; } public void stop() { _started=false; } public boolean isStarted() { return _started; } public void log(String tag, Object msg, Frame frame, long time) { String method = frame.getMethod(); int lb = method.indexOf('('); int ld = (lb > 0) ? method.lastIndexOf('.', lb) : method.lastIndexOf('.'); if (ld < 0) ld = lb; String class_name = (ld > 0) ? method.substring(0,ld) : method; Logger log = Logger.getLogger(class_name); Priority priority = Priority.INFO; if (Log.DEBUG.equals(tag)) { priority = Priority.DEBUG; } else if (Log.WARN.equals(tag) || Log.ASSERT.equals(tag)) { priority = Priority.ERROR; } else if (Log.FAIL.equals(tag)) { priority = Priority.FATAL; } if (!log.isEnabledFor(priority)) { return; } log.log(Log4jSink.class.getName(), priority, "" + msg, null); } public synchronized void log(String s) { Logger.getRootLogger().log("jetty.log4jSink", Priority.INFO, s, null); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -