private void initServer() throws ConfigurationException { if (port == 0) { throw new ConfigurationException("Port value not set"); } newChannel(); if (channel == null) { throw new ConfigurationException("ISO Channel is null"); } if (!(channel instanceof ServerChannel)) { throw new ConfigurationException(channelString + "does not implement ServerChannel"); } ThreadPool pool = null; pool = new ThreadPool(minSessions, maxSessions); pool.setLogger(log.getLogger(), getName() + ".pool"); server = new ISOServer(port, (ServerChannel) channel, pool); server.setLogger(log.getLogger(), getName() + ".server"); server.setName(getName()); if (socketFactoryString != null) { ISOServerSocketFactory sFac = (ISOServerSocketFactory) getFactory().newInstance(socketFactoryString); if (sFac != null && sFac instanceof LogSource) { ((LogSource) sFac).setLogger(log.getLogger(), getName() + ".socket-factory"); } server.setSocketFactory(sFac); } getFactory().setConfiguration(server, getPersist()); addServerSocketFactory(); addListeners(); // ISORequestListener addISOServerConnectionListeners(); NameRegistrar.register(getName(), this); new Thread(server).start(); }
private void addServerSocketFactory() throws ConfigurationException { QFactory factory = getFactory(); Element persist = getPersist(); Element serverSocketFactoryElement = persist.getChild("server-socket-factory"); if (serverSocketFactoryElement != null) { ISOServerSocketFactory serverSocketFactory = (ISOServerSocketFactory) factory.newInstance(serverSocketFactoryElement.getAttributeValue("class")); factory.setLogger(serverSocketFactory, serverSocketFactoryElement); factory.setConfiguration(serverSocketFactory, serverSocketFactoryElement); server.setSocketFactory(serverSocketFactory); } }