/** * Starts the server. */ protected boolean shouldStart() { try { ServerSocket serverSocket = getServerSocketFactory().createServerSocket( getPort(), getBacklog(), getInetAddress()); ServerListener<RemoteAppenderClient> listener = createServerListener(serverSocket); runner = createServerRunner(listener, getContext().getExecutorService()); runner.setContext(getContext()); return true; } catch (Exception ex) { addError("server startup error: " + ex, ex); CloseUtil.closeQuietly(serverSocket); return false; } }
/** * {@inheritDoc} */ @Override public void stop() { if (!isStarted()) return; CloseUtil.closeQuietly(socket); task.cancel(true); super.stop(); }
@Override public void stop() { if( !isStarted() ) return; CloseUtil.closeQuietly( socket ); task.cancel( true ); super.stop(); }
@Override public void stop() { if (!this.isStarted()) return; CloseUtil.closeQuietly(httpClient); this.task.cancel(true); super.stop(); }
/** * {@inheritDoc} */ public void close() { CloseUtil.closeQuietly(serverSocket); }
/** * {@inheritDoc} */ public void close() { if (socket == null) return; CloseUtil.closeQuietly(socket); }
/** * {@inheritDoc} */ protected void onStop() { if (socket != null) { CloseUtil.closeQuietly(socket); } }
@Override public void stop() { if (!isStarted()) return; CloseUtil.closeQuietly(session); super.stop(); }
private void dispatchEvents() throws InterruptedException, IOException { ILoggingEvent event = deque.takeFirst(); val events = new ArrayList<ILoggingEvent>(); events.add( event ); val list = new ArrayList<Data>(); addEvent( event, list ); while( ( event = deque.pollFirst() ) != null ) { events.add( event ); addEvent( event, list ); } val request = new Request( list ); try { if( !socketConnectionCouldBeEstablished() ) { throw new ConnectException(); } addInfo( peerId + "connection established" ); val outputStream = socket.getOutputStream(); val inputStream = socket.getInputStream(); addInfo( "zabbixRequest = " + request ); ZabbixRequest.writeExternal( request, outputStream ); outputStream.flush(); val buf = new byte[1024]; val responseBaos = new ByteArrayOutputStream(); while( true ) { int read = inputStream.read( buf ); if( read <= 0 ) { break; } responseBaos.write( buf, 0, read ); } val bResponse = responseBaos.toByteArray(); if( bResponse.length < 13 ) { addInfo( "response.length < 13" ); } else { String jsonString = new String( bResponse, 13, bResponse.length - 13, StandardCharsets.UTF_8 ); addInfo( "response = " + jsonString ); } } catch( IOException e ) { tryReAddingEventsToFrontOfQueue( events ); throw e; } finally { CloseUtil.closeQuietly( socket ); socket = null; addInfo( peerId + "connection closed" ); } }