它也可以通过一个Redisson实例在主要应用中跨多个进程。
所有任务类都是动态加载的,所以你不需要将他们在放在Redisson节点的路径中并重新启动任务类的变化。
任务定义
一个任务应该实现 java.util.concurrent.Callable或java.lang.Runnable interface接口。
Here is an example using Callable interface:
下面是一个Callable接口实现的示例:
public class CallableTask implements Callable {
@RInject
private RedissonClient redissonClient;
private long anyParam;
public CallableTask() {
}
public CallableTask(long anyParam) {
this.anyParam = anyParam;
}
@Override
public Long call() throws Exception {
// ...
}
}下面是Runnable 接口实现:
public class RunnableTask implements Runnable {
@RInject
private RedissonClient redissonClient;
private long anyParam;
public RunnableTask() {
}
public RunnableTask(long anyParam) {
this.anyParam = anyParam;
}
@Override
public void run() {
// ...
}
}任务能够通过构造器赋予参数。一个被提交的任务能够通过@RInject注释访问Redisson实例。这里提供了对所有Redisson功能的任务访问:Redis 基于 Maps, Multimaps, Sets, Lists, Queues, Locks, Semaphores, PublishSubscribe,和许多其他的 objects, collections, locks, and services。