RedissonNodeInitializer added.

pull/583/head
Nikita 9 years ago
parent 83d2a407c1
commit e8c9d40b4d

@ -22,6 +22,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import org.redisson.api.RedissonClient;
import org.redisson.config.RedissonNodeConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -103,6 +104,11 @@ public class RedissonNode {
}
redisson = Redisson.create(config);
if (config.getRedissonNodeInitializer() != null) {
config.getRedissonNodeInitializer().onStartup(redisson);
}
for (Entry<String, Integer> entry : config.getExecutorServiceWorkers().entrySet()) {
String name = entry.getKey();
int workers = entry.getValue();

@ -0,0 +1,17 @@
package org.redisson.api;
/**
*
* @author Nikita Koksharov
*
*/
public interface RedissonNodeInitializer {
/**
* Invoked during Redisson Node startup
*
* @param redisson
*/
void onStartup(RedissonClient redisson);
}

@ -20,6 +20,8 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.redisson.api.RedissonNodeInitializer;
/**
*
* @author Nikita Koksharov
@ -27,6 +29,7 @@ import java.util.Map;
*/
public class RedissonNodeConfig extends Config {
private RedissonNodeInitializer redissonNodeInitializer;
private int executorServiceThreads = 0;
private Map<String, Integer> executorServiceWorkers = new HashMap<String, Integer>();
@ -42,6 +45,7 @@ public class RedissonNodeConfig extends Config {
super(oldConf);
this.executorServiceThreads = oldConf.executorServiceThreads;
this.executorServiceWorkers = new HashMap<String, Integer>(oldConf.executorServiceWorkers);
this.redissonNodeInitializer = oldConf.redissonNodeInitializer;
}
/**
@ -78,6 +82,21 @@ public class RedissonNodeConfig extends Config {
return executorServiceWorkers;
}
public RedissonNodeInitializer getRedissonNodeInitializer() {
return redissonNodeInitializer;
}
/**
* Redisson node initializer
*
* @param redissonNodeInitializer
* @return
*/
public RedissonNodeConfig setRedissonNodeInitializer(RedissonNodeInitializer redissonNodeInitializer) {
this.redissonNodeInitializer = redissonNodeInitializer;
return this;
}
/**
* Read config object stored in JSON format from <code>File</code>
*

Loading…
Cancel
Save