Add setter to control using memcached heartbeats.
This commit is contained in:
Jan Bartel 2016-07-07 14:04:17 +10:00
parent 650db59e69
commit 008912fd5e
2 changed files with 18 additions and 0 deletions

View File

@ -17,6 +17,12 @@
<Ref id="idMgr"/> <Ref id="idMgr"/>
</Set> </Set>
<Set name="scavengeIntervalSec">600</Set> <Set name="scavengeIntervalSec">600</Set>
<!-- uncomment and configure the secs before a memcache entry is evicted
<Set name="expirySec">86400</Set>
-->
<!-- uncomment and configure whether memcached does heartbeats or not
<Set name="heartbeats">false</Set>
-->
<Set name="host"><Env name="MEMCACHE_PORT_11211_TCP_ADDR" default="localhost"/></Set> <Set name="host"><Env name="MEMCACHE_PORT_11211_TCP_ADDR" default="localhost"/></Set>
<Set name="port"><Env name="MEMCACHE_PORT_11211_TCP_PORT" default="11211"/></Set> <Set name="port"><Env name="MEMCACHE_PORT_11211_TCP_PORT" default="11211"/></Set>
</New> </New>

View File

@ -52,6 +52,7 @@ public class GCloudMemcachedSessionManager extends GCloudSessionManager
protected String _port; protected String _port;
protected MemcachedClient _client; protected MemcachedClient _client;
protected int _expirySec = 0; protected int _expirySec = 0;
private boolean _heartbeats = true;
@ -212,6 +213,15 @@ public class GCloudMemcachedSessionManager extends GCloudSessionManager
} }
/**
* @param heartbeats if true memcached heartbeats are enabled. Default is true.
*/
public void setHeartbeats (boolean heartbeats)
{
_heartbeats = heartbeats;
}
@Override @Override
public void doStart() throws Exception public void doStart() throws Exception
{ {
@ -222,6 +232,8 @@ public class GCloudMemcachedSessionManager extends GCloudSessionManager
XMemcachedClientBuilder builder = new XMemcachedClientBuilder(_host+":"+_port); XMemcachedClientBuilder builder = new XMemcachedClientBuilder(_host+":"+_port);
_client = builder.build(); _client = builder.build();
_client.setEnableHeartBeat(_heartbeats);
_client.setTranscoder(new ContextClassloaderSerializingTranscoder()); _client.setTranscoder(new ContextClassloaderSerializingTranscoder());
super.doStart(); super.doStart();