@Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { final String msg = "Exception in server pipeline. Caused by: " + ExceptionUtils.stringifyException(cause); final ByteBuf err = MessageSerializer.serializeServerFailure(ctx.alloc(), new RuntimeException(msg)); LOG.debug(msg); ctx.writeAndFlush(err).addListener(ChannelFutureListener.CLOSE); }
final ByteBuf failure = MessageSerializer.serializeServerFailure(ctx.alloc(), new IllegalArgumentException(errMsg)); } else { errMsg = "Failed incoming message. Caused by: " + stringifiedCause; err = MessageSerializer.serializeServerFailure(ctx.alloc(), new RuntimeException(errMsg));
/** * Tests server failure serialization. */ @Test public void testServerFailureSerialization() throws Exception { IllegalStateException cause = new IllegalStateException("Expected test"); ByteBuf buf = MessageSerializer.serializeServerFailure(alloc, cause); int frameLength = buf.readInt(); assertEquals(MessageType.SERVER_FAILURE, MessageSerializer.deserializeHeader(buf)); Throwable request = MessageSerializer.deserializeServerFailure(buf); assertEquals(buf.readerIndex(), frameLength + 4); assertEquals(cause.getClass(), request.getClass()); assertEquals(cause.getMessage(), request.getMessage()); }
buf = MessageSerializer.serializeServerFailure( channel.alloc(), new RuntimeException("Expected test Exception"));
ch.writeAndFlush(MessageSerializer.serializeServerFailure( serverChannel.alloc(), new RuntimeException("Expected test server failure")));
@Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { final String msg = "Exception in server pipeline. Caused by: " + ExceptionUtils.stringifyException(cause); final ByteBuf err = serializer.serializeServerFailure(ctx.alloc(), new RuntimeException(msg)); LOG.debug(msg); ctx.writeAndFlush(err).addListener(ChannelFutureListener.CLOSE); }
@Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { final String msg = "Exception in server pipeline. Caused by: " + ExceptionUtils.stringifyException(cause); final ByteBuf err = MessageSerializer.serializeServerFailure(ctx.alloc(), new RuntimeException(msg)); LOG.debug(msg); ctx.writeAndFlush(err).addListener(ChannelFutureListener.CLOSE); }
final ByteBuf failure = MessageSerializer.serializeServerFailure(ctx.alloc(), new IllegalArgumentException(errMsg)); } else { errMsg = "Failed incoming message. Caused by: " + stringifiedCause; err = MessageSerializer.serializeServerFailure(ctx.alloc(), new RuntimeException(errMsg));
final ByteBuf failure = MessageSerializer.serializeServerFailure(ctx.alloc(), new IllegalArgumentException(errMsg)); } else { errMsg = "Failed incoming message. Caused by: " + stringifiedCause; err = MessageSerializer.serializeServerFailure(ctx.alloc(), new RuntimeException(errMsg));