X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FNodeMain.java;fp=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FNodeMain.java;h=07e10b2b87b0971e6d96be506396687442654cc6;hb=e06737d701ff5b3dcab311f4337ce40be52c966e;hp=f9d82a778a25c322115c4d1322aed7e6c6489bf2;hpb=49fbf9a09d244bbdc19783d9ff10cd03cd89640a;p=dmaap%2Fdatarouter.git diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java index f9d82a77..07e10b2b 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java @@ -29,66 +29,69 @@ import org.eclipse.jetty.util.ssl.*; import org.eclipse.jetty.server.*; import org.apache.log4j.Logger; +import java.util.Arrays; + /** * The main starting point for the Data Router node */ public class NodeMain { + private NodeMain() { } private static Logger logger = Logger.getLogger("org.onap.dmaap.datarouter.node.NodeMain"); - private static class wfconfig implements Runnable { - private NodeConfigManager ncm; + private static class WaitForConfig implements Runnable { - wfconfig(NodeConfigManager ncm) { - this.ncm = ncm; + private NodeConfigManager localNodeConfigManager; + + WaitForConfig(NodeConfigManager ncm) { + this.localNodeConfigManager = ncm; } public synchronized void run() { notify(); } - synchronized void waitforconfig() { - ncm.registerConfigTask(this); - while (!ncm.isConfigured()) { + synchronized void waitForConfig() { + localNodeConfigManager.registerConfigTask(this); + while (!localNodeConfigManager.isConfigured()) { logger.info("NODE0003 Waiting for Node Configuration"); try { wait(); } catch (Exception e) { - logger.debug("NodeMain: waitforconfig exception"); + logger.debug("NodeMain: waitForConfig exception"); } } - ncm.deregisterConfigTask(this); + localNodeConfigManager.deregisterConfigTask(this); logger.info("NODE0004 Node Configuration Data Received"); } } - private static Delivery d; - private static NodeConfigManager ncm; + private static Delivery delivery; + private static NodeConfigManager nodeConfigManager; /** * Reset the retry timer for a subscription */ static void resetQueue(String subid, String ip) { - d.resetQueue(ncm.getSpoolDir(subid, ip)); + delivery.resetQueue(nodeConfigManager.getSpoolDir(subid, ip)); } /** * Start the data router. *

- * The location of the node configuration file can be set using the - * org.onap.dmaap.datarouter.node.ConfigFile system property. By - * default, it is "etc/node.properties". + * The location of the node configuration file can be set using the org.onap.dmaap.datarouter.node.ConfigFile system + * property. By default, it is "etc/node.properties". */ public static void main(String[] args) throws Exception { logger.info("NODE0001 Data Router Node Starting"); IsFrom.setDNSCache(); - ncm = NodeConfigManager.getInstance(); - logger.info("NODE0002 I am " + ncm.getMyName()); - (new wfconfig(ncm)).waitforconfig(); - d = new Delivery(ncm); - LogManager lm = new LogManager(ncm); + nodeConfigManager = NodeConfigManager.getInstance(); + logger.info("NODE0002 I am " + nodeConfigManager.getMyName()); + (new WaitForConfig(nodeConfigManager)).waitForConfig(); + delivery = new Delivery(nodeConfigManager); + LogManager lm = new LogManager(nodeConfigManager); Server server = new Server(); // HTTP configuration @@ -97,38 +100,41 @@ public class NodeMain { httpConfiguration.setRequestHeaderSize(2048); // HTTP connector - ServerConnector httpServerConnector = new ServerConnector(server, new HttpConnectionFactory(httpConfiguration)); - httpServerConnector.setPort(ncm.getHttpPort()); - - // HTTPS configuration - SslContextFactory sslContextFactory = new SslContextFactory(); - sslContextFactory.setKeyStoreType(ncm.getKSType()); - sslContextFactory.setKeyStorePath(ncm.getKSFile()); - sslContextFactory.setKeyStorePassword(ncm.getKSPass()); - sslContextFactory.setKeyManagerPassword(ncm.getKPass()); - /* Skip SSLv3 Fixes */ - sslContextFactory.addExcludeProtocols("SSLv3"); - logger.info("Excluded protocols node-" + sslContextFactory.getExcludeProtocols()); - /* End of SSLv3 Fixes */ - - HttpConfiguration httpsConfiguration = new HttpConfiguration(httpConfiguration); - httpsConfiguration.setRequestHeaderSize(8192); - - SecureRequestCustomizer secureRequestCustomizer = new SecureRequestCustomizer(); - secureRequestCustomizer.setStsMaxAge(2000); - secureRequestCustomizer.setStsIncludeSubDomains(true); - httpsConfiguration.addCustomizer(secureRequestCustomizer); - - // HTTPS connector - ServerConnector httpsServerConnector = new ServerConnector(server, - new SslConnectionFactory(sslContextFactory,HttpVersion.HTTP_1_1.asString()), + ServletContextHandler ctxt; + try (ServerConnector httpServerConnector = new ServerConnector(server, + new HttpConnectionFactory(httpConfiguration))) { + httpServerConnector.setPort(nodeConfigManager.getHttpPort()); + + // HTTPS configuration + SslContextFactory sslContextFactory = new SslContextFactory(); + sslContextFactory.setKeyStoreType(nodeConfigManager.getKSType()); + sslContextFactory.setKeyStorePath(nodeConfigManager.getKSFile()); + sslContextFactory.setKeyStorePassword(nodeConfigManager.getKSPass()); + sslContextFactory.setKeyManagerPassword(nodeConfigManager.getKPass()); + /* Skip SSLv3 Fixes */ + sslContextFactory.addExcludeProtocols("SSLv3"); + logger.info("Excluded protocols node-" + Arrays.toString(sslContextFactory.getExcludeProtocols())); + /* End of SSLv3 Fixes */ + + HttpConfiguration httpsConfiguration = new HttpConfiguration(httpConfiguration); + httpsConfiguration.setRequestHeaderSize(8192); + + SecureRequestCustomizer secureRequestCustomizer = new SecureRequestCustomizer(); + secureRequestCustomizer.setStsMaxAge(2000); + secureRequestCustomizer.setStsIncludeSubDomains(true); + httpsConfiguration.addCustomizer(secureRequestCustomizer); + + // HTTPS connector + ServerConnector httpsServerConnector = new ServerConnector(server, + new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(httpsConfiguration)); - httpsServerConnector.setPort(ncm.getHttpsPort()); - httpsServerConnector.setIdleTimeout(500000); - httpsServerConnector.setAcceptQueueSize(2); + httpsServerConnector.setPort(nodeConfigManager.getHttpsPort()); + httpsServerConnector.setIdleTimeout(500000); + httpsServerConnector.setAcceptQueueSize(2); - server.setConnectors(new Connector[]{httpServerConnector, httpsServerConnector}); - ServletContextHandler ctxt = new ServletContextHandler(0); + server.setConnectors(new Connector[]{httpServerConnector, httpsServerConnector}); + } + ctxt = new ServletContextHandler(0); ctxt.setContextPath("/"); server.setHandler(ctxt); ctxt.addServlet(new ServletHolder(new NodeServlet()), "/*");