/** Constructor */ public HttpsListener(Map args, ObjectPool objectPool, HostGroup hostGroup) throws IOException { super(args, objectPool, hostGroup); this.keystore = WebAppConfiguration.stringArg(args, getConnectorName() + "KeyStore", "winstone.ks"); this.password = WebAppConfiguration.stringArg(args, getConnectorName() + "KeyStorePassword", null); this.keyManagerType = WebAppConfiguration.stringArg(args, getConnectorName() + "KeyManagerType", "SunX509"); }
/** * Factory method - this parses the web.xml nodes and builds the correct subclass for handling * that auth type. */ protected BaseAuthenticationHandler( Node loginConfigNode, List constraintNodes, Set rolesAllowed, AuthenticationRealm realm) { this.realm = realm; for (int m = 0; m < loginConfigNode.getChildNodes().getLength(); m++) { Node loginElm = loginConfigNode.getChildNodes().item(m); if (loginElm.getNodeType() != Node.ELEMENT_NODE) continue; else if (loginElm.getNodeName().equals(ELEM_REALM_NAME)) realmName = WebAppConfiguration.getTextFromNode(loginElm); } // Build security constraints this.constraints = new SecurityConstraint[constraintNodes.size()]; for (int n = 0; n < constraints.length; n++) this.constraints[n] = new SecurityConstraint((Node) constraintNodes.get(n), rolesAllowed, n); }
/** Main constructor. Basically just calls the init method */ public WinstoneDataSource(String name, Map args, ClassLoader loader) { this.name = name; this.usedWrappers = new ArrayList(); this.usedRealConnections = new ArrayList(); this.unusedRealConnections = new ArrayList(); this.connectProps = new Properties(); // Extract pool management properties this.keepAliveSQL = WebAppConfiguration.stringArg(args, "keepAliveSQL", ""); this.keepAlivePeriod = WebAppConfiguration.intArg(args, "keepAlivePeriod", -1); this.checkBeforeGet = WebAppConfiguration.booleanArg(args, "checkBeforeGet", !this.keepAliveSQL.equals("")); this.killInactivePeriod = WebAppConfiguration.intArg(args, "killInactivePeriod", -1); this.url = WebAppConfiguration.stringArg(args, "url", null); String driverClassName = WebAppConfiguration.stringArg(args, "driverClassName", ""); if (args.get("username") != null) this.connectProps.put("user", args.get("username")); if (args.get("password") != null) this.connectProps.put("password", args.get("password")); this.maxHeldCount = WebAppConfiguration.intArg(args, "maxConnections", 20); this.maxIdleCount = WebAppConfiguration.intArg(args, "maxIdle", 10); int startCount = WebAppConfiguration.intArg(args, "startConnections", 1); this.retryCount = WebAppConfiguration.intArg(args, "retryCount", 1); this.retryPeriod = WebAppConfiguration.intArg(args, "retryPeriod", 1000); log(Logger.FULL_DEBUG, "WinstoneDataSource.Init", this.url, null); try { synchronized (this.unusedRealConnections) { if (!driverClassName.equals("")) { Class driverClass = Class.forName(driverClassName.trim(), true, loader); this.driver = (Driver) driverClass.newInstance(); for (int n = 0; n < startCount; n++) { makeNewRealConnection(this.unusedRealConnections); } } } } catch (Throwable err) { log(Logger.ERROR, "WinstoneDataSource.ErrorInCreate", this.name, err); } // Start management thread this.managementThread = new Thread(this, "DBConnectionPool management thread"); this.managementThread.start(); }