public void setupNetwork() throws IOException { validateConfig(config); synchronized (listeners) { for (final NetworkListener listener : config.getNetworkListeners().getNetworkListener()) { final GenericGrizzlyListener grizzlyListener = new GenericGrizzlyListener(); grizzlyListener.configure(serviceLocator, listener); listeners.add(grizzlyListener); try { grizzlyListener.start(); } catch (IOException e) { LOGGER.log(Level.SEVERE, e.getMessage(), e); } } } }
public void setupNetwork() throws IOException { validateConfig(config); synchronized (listeners) { AbstractMemoryManager amm = null; for (final NetworkListener listener : config.getNetworkListeners().getNetworkListener()) { final GenericGrizzlyListener grizzlyListener = new GenericGrizzlyListener(); grizzlyListener.configure(habitat, listener); final MemoryManager mm = grizzlyListener.transport.getMemoryManager(); if (mm instanceof AbstractMemoryManager) { amm = (AbstractMemoryManager) mm; } listeners.add(grizzlyListener); final Thread thread = new DefaultWorkerThread(Grizzly.DEFAULT_ATTRIBUTE_BUILDER, grizzlyListener.getName(), amm != null ? amm.createThreadLocalPool() : null, new ListenerRunnable(grizzlyListener)); thread.setDaemon(true); thread.start(); } try { Thread.sleep(1000); // wait for the system to finish setting up the listener } catch (InterruptedException e) { logger.warning(e.getMessage()); throw new RuntimeException(e.getMessage()); } } }