Class StaleConnectionHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.channel.ChannelDuplexHandler
-
- com.linkedin.alpini.netty4.handlers.StaleConnectionHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler,io.netty.channel.ChannelOutboundHandler
public class StaleConnectionHandler extends io.netty.channel.ChannelDuplexHandlerThis handler closes the connection when a ReadTimeoutException occurs. Example:public class MyChannelInitializer extends
ChannelInitializer<Channel> { public void initChannel(Channelchannel) { channel.pipeline().addLast("readTimeoutHandler", newReadTimeoutHandler(30, TimeUnit.SECONDS); channel.pipeline().addLast("staleConnectionHandler", newStaleConnectionHandler()); } }
-
-
Constructor Summary
Constructors Constructor Description StaleConnectionHandler()Create an EspressoIdleConnectionHandler which will close idle connections (detected by a separate IdleStateHandler added to the pipeline).StaleConnectionHandler(long minCloseAge, long maxCloseAge, java.util.concurrent.TimeUnit unit)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidchannelRead(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object msg)voidexceptionCaught(io.netty.channel.ChannelHandlerContext ctx, java.lang.Throwable cause)CallsChannelHandlerContext.fireExceptionCaught(Throwable)to forward to the nextChannelHandlerin theChannelPipeline.booleanisStaleChannel()voidwrite(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object msg, io.netty.channel.ChannelPromise promise)-
Methods inherited from class io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, flush, read
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
StaleConnectionHandler
public StaleConnectionHandler()
Create an EspressoIdleConnectionHandler which will close idle connections (detected by a separate IdleStateHandler added to the pipeline).
-
StaleConnectionHandler
@Deprecated public StaleConnectionHandler(long minCloseAge, long maxCloseAge, java.util.concurrent.TimeUnit unit)Deprecated.Create an EspressoIdleConnectionHandler which will close idle connections (detected by a separate IdleStateHandler added to the pipeline), and will close non-idle connections after a specified time. Connections will be closed at a random time betweenminCloseAgeandmaxCloseAge.- Parameters:
minCloseAge- base age of an active connection before we terminatemaxCloseAge- random offset, should be large enough to spread out closing time for multiple connectionsunit- TimeUnit for closeAfterAgeBase and closeAfterAgeRandom
-
-
Method Detail
-
isStaleChannel
public boolean isStaleChannel()
-
exceptionCaught
public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, java.lang.Throwable cause) throws java.lang.ExceptionCallsChannelHandlerContext.fireExceptionCaught(Throwable)to forward to the nextChannelHandlerin theChannelPipeline.Sub-classes may override this method to change behavior.
- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelHandler- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
exceptionCaughtin classio.netty.channel.ChannelInboundHandlerAdapter- Parameters:
ctx-cause-- Throws:
java.lang.Exception
-
write
public void write(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object msg, io.netty.channel.ChannelPromise promise) throws java.lang.Exception- Specified by:
writein interfaceio.netty.channel.ChannelOutboundHandler- Overrides:
writein classio.netty.channel.ChannelDuplexHandler- Throws:
java.lang.Exception
-
channelRead
public void channelRead(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object msg) throws java.lang.Exception- Specified by:
channelReadin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelReadin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
java.lang.Exception
-
-