@Override public void run() { plog.info(this.getServiceName() + " service started"); final ChannelEventListener listener = NettyRemotingAbstract.this.getChannelEventListener(); while (!this.isStoped()) { try { NettyEvent event = this.eventQueue.poll(3000, TimeUnit.MILLISECONDS); if (event != null && listener != null) { switch (event.getType()) { case IDLE: listener.onChannelIdle(event.getRemoteAddr(), event.getChannel()); break; case CLOSE: listener.onChannelClose(event.getRemoteAddr(), event.getChannel()); break; case CONNECT: listener.onChannelConnect(event.getRemoteAddr(), event.getChannel()); break; case EXCEPTION: listener.onChannelException(event.getRemoteAddr(), event.getChannel()); break; default: break; } } } catch (Exception e) { plog.warn(this.getServiceName() + " service has exception. ", e); } } plog.info(this.getServiceName() + " service end"); }
public void putNettyEvent(final NettyEvent event) { if (this.eventQueue.size() <= MaxSize) { this.eventQueue.add(event); } else { plog.warn( "event queue size[{}] enough, so drop this event {}", this.eventQueue.size(), event.toString()); } }