@Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { Object message = ((MessageEvent) e).getMessage(); if (message instanceof MappingHttpRequest) { MappingHttpRequest request = ((MappingHttpRequest) message); if (HttpMethod.GET.equals(request.getMethod())) { handleGet(ctx, request); } else if (!initialized) { handleInitialize(ctx, request); } else if (request.getMessage() instanceof HeartbeatType) { handleHeartbeat(request); } else { ChannelFuture writeFuture = ctx.getChannel() .write( new DefaultHttpResponse( request.getProtocolVersion(), HttpResponseStatus.NOT_ACCEPTABLE)); writeFuture.addListener(ChannelFutureListener.CLOSE); } } else { super.messageReceived(ctx, e); } }