Package net.rubyeye.xmemcached.impl
Class MemcachedHandler
- java.lang.Object
-
- com.google.code.yanf4j.core.impl.HandlerAdapter
-
- net.rubyeye.xmemcached.impl.MemcachedHandler
-
- All Implemented Interfaces:
Handler
public class MemcachedHandler extends HandlerAdapter
Memcached Session Handler,used for dispatching commands and session's lifecycle management
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classMemcachedHandler.CheckHeartResultThread
-
Field Summary
Fields Modifier and Type Field Description private MemcachedClientclientstatic IoBufferEMPTY_BUFprivate booleanenableHeartBeatprivate static java.lang.StringHEART_BEAT_FAIL_COUNT_ATTR(package private) longHEARTBEAT_PERIODprivate java.util.concurrent.ExecutorServiceheartBeatThreadPoolprivate MemcachedSessionConnectListenerlistenerprivate static org.slf4j.Loggerlogprivate static intMAX_HEART_BEAT_FAIL_COUNTprivate static intMAX_HEARTBEAT_THREADSprivate StatisticsHandlerstatisticsHandler
-
Constructor Summary
Constructors Constructor Description MemcachedHandler(MemcachedClient client)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcheckHeartBeat(Session session)voidonExceptionCaught(Session session, java.lang.Throwable throwable)voidonMessageReceived(Session session, java.lang.Object msg)On receive message from memcached servervoidonMessageSent(Session session, java.lang.Object msg)put command which have been sent to queuevoidonSessionClosed(Session session)Check if have to reconnect on session closedvoidonSessionIdle(Session session)Do a heartbeat actionvoidonSessionStarted(Session session)On session startedprotected voidreconnect(MemcachedTCPSession session)Auto reconect to memcached servervoidsetEnableHeartBeat(boolean enableHeartBeat)voidstart()voidstop()-
Methods inherited from class com.google.code.yanf4j.core.impl.HandlerAdapter
onSessionConnected, onSessionCreated, onSessionExpired
-
-
-
-
Field Detail
-
MAX_HEARTBEAT_THREADS
private static final int MAX_HEARTBEAT_THREADS
-
statisticsHandler
private final StatisticsHandler statisticsHandler
-
heartBeatThreadPool
private java.util.concurrent.ExecutorService heartBeatThreadPool
-
listener
private final MemcachedSessionConnectListener listener
-
client
private final MemcachedClient client
-
log
private static final org.slf4j.Logger log
-
enableHeartBeat
private volatile boolean enableHeartBeat
-
EMPTY_BUF
public static final IoBuffer EMPTY_BUF
-
HEART_BEAT_FAIL_COUNT_ATTR
private static final java.lang.String HEART_BEAT_FAIL_COUNT_ATTR
- See Also:
- Constant Field Values
-
MAX_HEART_BEAT_FAIL_COUNT
private static final int MAX_HEART_BEAT_FAIL_COUNT
-
HEARTBEAT_PERIOD
final long HEARTBEAT_PERIOD
-
-
Constructor Detail
-
MemcachedHandler
public MemcachedHandler(MemcachedClient client)
-
-
Method Detail
-
onMessageReceived
public final void onMessageReceived(Session session, java.lang.Object msg)
On receive message from memcached server- Specified by:
onMessageReceivedin interfaceHandler- Overrides:
onMessageReceivedin classHandlerAdapter
-
setEnableHeartBeat
public void setEnableHeartBeat(boolean enableHeartBeat)
-
onMessageSent
public final void onMessageSent(Session session, java.lang.Object msg)
put command which have been sent to queue- Specified by:
onMessageSentin interfaceHandler- Overrides:
onMessageSentin classHandlerAdapter
-
onExceptionCaught
public void onExceptionCaught(Session session, java.lang.Throwable throwable)
- Specified by:
onExceptionCaughtin interfaceHandler- Overrides:
onExceptionCaughtin classHandlerAdapter
-
onSessionStarted
public void onSessionStarted(Session session)
On session started- Specified by:
onSessionStartedin interfaceHandler- Overrides:
onSessionStartedin classHandlerAdapter
-
onSessionClosed
public final void onSessionClosed(Session session)
Check if have to reconnect on session closed- Specified by:
onSessionClosedin interfaceHandler- Overrides:
onSessionClosedin classHandlerAdapter
-
onSessionIdle
public void onSessionIdle(Session session)
Do a heartbeat action- Specified by:
onSessionIdlein interfaceHandler- Overrides:
onSessionIdlein classHandlerAdapter
-
checkHeartBeat
private void checkHeartBeat(Session session)
-
reconnect
protected void reconnect(MemcachedTCPSession session)
Auto reconect to memcached server- Parameters:
session-
-
stop
public void stop()
-
start
public void start()
-
-