コード例 #1
0
ファイル: Server.java プロジェクト: Analect/neo4j
  @Override
  public void messageReceived(ChannelHandlerContext ctx, MessageEvent event) throws Exception {
    try {
      ChannelBuffer message = (ChannelBuffer) event.getMessage();
      handleRequest(message, event.getChannel());
    } catch (Throwable e) {
      msgLog.error("Error handling request", e);

      // Attempt to reply to the client
      ChunkingChannelBuffer buffer = newChunkingBuffer(event.getChannel());
      buffer.clear(/* failure = */ true);
      writeFailureResponse(e, buffer);

      ctx.getChannel().close();
      tryToFinishOffChannel(ctx.getChannel());
      throw Exceptions.launderedException(e);
    }
  }