本文整理了Java中org.redisson.api.RedissonClient.getListMultimap
方法的一些代码示例,展示了RedissonClient.getListMultimap
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RedissonClient.getListMultimap
方法的具体详情如下:
包路径:org.redisson.api.RedissonClient
类名称:RedissonClient
方法名:getListMultimap
[英]Returns List based Multimap instance by name.
[中]按名称返回基于列表的多重映射实例。
代码示例来源:origin: redisson/redisson
@Override
public void emit(K key, V value) {
try {
ByteBuf encodedKey = codec.getValueEncoder().encode(key);
long hash = Hash.hash64(encodedKey);
encodedKey.release();
int part = (int) Math.abs(hash % parts);
String partName = name + ":" + part;
RListMultimap<K, V> multimap = client.getListMultimap(partName, codec);
multimap.put(key, value);
if (timeout > 0 && !expirationsBitSet.get(part)) {
multimap.expire(timeout, TimeUnit.MILLISECONDS);
expirationsBitSet.set(part);
}
} catch (IOException e) {
throw new IllegalArgumentException(e);
}
}
代码示例来源:origin: redisson/redisson
@Override
public void emit(K key, V value) {
try {
ByteBuf encodedKey = codec.getValueEncoder().encode(key);
long hash = Hash.hash64(encodedKey);
encodedKey.release();
int part = (int) Math.abs(hash % parts);
String partName = name + ":" + part;
RListMultimap<K, V> multimap = client.getListMultimap(partName, codec);
multimap.put(key, value);
if (timeout > 0 && !expirationsBitSet.get(part)) {
multimap.expire(timeout, TimeUnit.MILLISECONDS);
expirationsBitSet.set(part);
}
} catch (IOException e) {
throw new IllegalArgumentException(e);
}
}
代码示例来源:origin: redisson/redisson
@Override
public void run() {
try {
this.codec = (Codec) codecClass.getConstructor().newInstance();
} catch (Exception e) {
throw new IllegalArgumentException(e);
}
Injector.inject(reducer, redisson);
RMap<KOut, VOut> map = redisson.getMap(resultMapName);
RListMultimap<KOut, VOut> multimap = redisson.getListMultimap(name, codec);
for (KOut key : multimap.keySet()) {
if (Thread.currentThread().isInterrupted()) {
break;
}
List<VOut> values = multimap.get(key);
VOut out = reducer.reduce(key, values.iterator());
map.put(key, out);
}
if (timeout > 0) {
map.expire(timeout, TimeUnit.MILLISECONDS);
}
multimap.delete();
}
代码示例来源:origin: redisson/redisson
@Override
public void run() {
try {
this.codec = (Codec) codecClass.getConstructor().newInstance();
} catch (Exception e) {
throw new IllegalArgumentException(e);
}
Injector.inject(reducer, redisson);
RMap<KOut, VOut> map = redisson.getMap(resultMapName);
RListMultimap<KOut, VOut> multimap = redisson.getListMultimap(name, codec);
for (KOut key : multimap.keySet()) {
if (Thread.currentThread().isInterrupted()) {
break;
}
List<VOut> values = multimap.get(key);
VOut out = reducer.reduce(key, values.iterator());
map.put(key, out);
}
if (timeout > 0) {
map.expire(timeout, TimeUnit.MILLISECONDS);
}
multimap.delete();
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void removeJobScripts(String jobId) {
redissonClient.<String, JobScript>getListMultimap(JobConfig.JOB_INFO_SCRIPT).removeAll(jobId);
}
}
代码示例来源:origin: justlive1/earth-frost
@Override
public List<JobScript> queryJobScripts(String jobId) {
return redissonClient.<String, JobScript>getListMultimap(JobConfig.JOB_INFO_SCRIPT)
.getAll(jobId);
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void addJobRecordStatus(JobRecordStatus recordStatus) {
RListMultimap<String, JobRecordStatus> listMultimap = redissonClient
.getListMultimap(JobConfig.RECORD_STATUS);
listMultimap.put(recordStatus.getLoggerId(), recordStatus);
}
代码示例来源:origin: justlive1/earth-frost
@Override
public String bindLog(String jobId) {
String id = UUID.randomUUID().toString();
redissonClient.<String, String>getMap(JobConfig.LOG_BIND).put(id, jobId);
redissonClient.<String, String>getListMultimap(JobConfig.LOG_REL).put(jobId, id);
return id;
}
代码示例来源:origin: justlive1/earth-frost
@Override
public int countJobRecords(String groupKey, String jobKey, String jobId) {
RListMultimap<String, String> sortmap = redissonClient.getListMultimap(JobConfig.RECORD_SORT);
if (jobId != null && jobId.length() > 0) {
return sortmap.get(jobId).size();
}
String key = Constants.EMPTY;
if (groupKey != null && groupKey.length() > 0) {
key = groupKey;
}
if (jobKey != null && jobKey.length() > 0) {
key = String.join(Constants.COLON, key, jobKey);
}
return sortmap.get(key).size();
}
代码示例来源:origin: org.redisson/redisson
@Override
public void emit(K key, V value) {
try {
ByteBuf encodedKey = codec.getValueEncoder().encode(key);
long hash = Hash.hash64(encodedKey);
encodedKey.release();
int part = (int) Math.abs(hash % parts);
String partName = name + ":" + part;
RListMultimap<K, V> multimap = client.getListMultimap(partName, codec);
multimap.put(key, value);
if (timeout > 0 && !expirationsBitSet.get(part)) {
multimap.expire(timeout, TimeUnit.MILLISECONDS);
expirationsBitSet.set(part);
}
} catch (IOException e) {
throw new IllegalArgumentException(e);
}
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void removeLogger(String jobId) {
RMap<String, String> map = redissonClient.getMap(JobConfig.LOG_BIND);
for (String id : redissonClient.<String, String>getListMultimap(JobConfig.LOG_REL)
.removeAll(jobId)) {
map.remove(id);
}
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void pauseJob(String jobId) {
RListMultimap<String, String> listmap = getRedissonClient().getListMultimap(JobConfig.TASK_ID);
RScheduledExecutorService service = getRedissonClient().getExecutorService(JobConfig.WORKER);
Iterator<String> it = listmap.get(jobId).iterator();
while (it.hasNext()) {
String id = it.next();
service.cancelTask(id);
it.remove();
}
}
代码示例来源:origin: justlive1/earth-frost
@Override
public String addSimpleJob(String jobId, long timestamp) {
String taskId = getRedissonClient().getExecutorService(JobConfig.WORKER)
.scheduleAsync(new JobDispatchWrapper(jobId),
timestamp - ZonedDateTime.now().toInstant().toEpochMilli(), TimeUnit.MILLISECONDS)
.getTaskId();
getRedissonClient().<String, String>getListMultimap(JobConfig.TASK_ID).put(jobId, taskId);
return taskId;
}
代码示例来源:origin: justlive1/earth-frost
@Override
public JobExecuteRecord findJobExecuteRecordById(String id) {
RMap<String, JobExecuteRecord> map = redissonClient.getMap(JobConfig.RECORD);
JobExecuteRecord record = map.get(id);
RListMultimap<String, JobRecordStatus> recordStatus = redissonClient
.getListMultimap(JobConfig.RECORD_STATUS);
List<JobRecordStatus> statuses = recordStatus.getAll(id);
statuses.forEach(r -> r.fill(record));
record.setRecordStatuses(statuses);
return record;
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void addJobScript(JobScript script) {
RListMultimap<String, JobScript> scriptList = redissonClient
.getListMultimap(JobConfig.JOB_INFO_SCRIPT);
script.setId(UUID.randomUUID().toString());
script.setTime(Date.from(ZonedDateTime.now().toInstant()));
scriptList.put(script.getJobId(), script);
if (scriptList.get(script.getJobId()).size() > 20) {
scriptList.get(script.getJobId()).remove(0);
}
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void addJob(JobInfo jobInfo) {
RMap<String, JobInfo> map = redissonClient.getMap(JobConfig.JOB_INFO);
jobInfo.setId(UUID.randomUUID().toString());
RList<String> sortList = redissonClient.getList(JobConfig.JOB_INFO_SORT);
sortList.add(jobInfo.getId());
// script
if (JobInfo.TYPE.SCRIPT.name().equals(jobInfo.getType())) {
JobScript script = new JobScript();
script.setId(UUID.randomUUID().toString());
script.setJobId(jobInfo.getId());
script.setScript(jobInfo.getScript());
script.setTime(Date.from(ZonedDateTime.now().toInstant()));
script.setVersion("default");
redissonClient.<String, JobScript>getListMultimap(JobConfig.JOB_INFO_SCRIPT)
.put(jobInfo.getId(), script);
}
jobInfo.setScript(null);
map.put(jobInfo.getId(), jobInfo);
}
代码示例来源:origin: justlive1/earth-frost
@Override
public String addDelayJob(String jobId, long initDelay, long delay) {
String taskId = getRedissonClient().getExecutorService(JobConfig.WORKER)
.scheduleAtFixedRateAsync(new JobDispatchWrapper(jobId), initDelay, delay, TimeUnit.SECONDS)
.getTaskId();
getRedissonClient().<String, String>getListMultimap(JobConfig.TASK_ID).put(jobId, taskId);
return taskId;
}
代码示例来源:origin: justlive1/earth-frost
@Override
public void removeJobRecords(String jobId) {
RMap<String, JobExecuteRecord> map = redissonClient.getMap(JobConfig.RECORD);
RListMultimap<String, String> sortmap = redissonClient.getListMultimap(JobConfig.RECORD_SORT);
List<String> list = sortmap.removeAll(jobId);
RListMultimap<String, JobRecordStatus> statusMultimap = redissonClient
.getListMultimap(JobConfig.RECORD_STATUS);
JobGroup group = findJobInfoById(jobId).getGroup();
for (String key : list) {
sortmap.get(Constants.EMPTY).remove(key);
if (group != null) {
sortmap.get(group.getGroupKey()).remove(key);
sortmap.get(String.join(Constants.COLON, group.getGroupKey(), group.getJobKey()))
.remove(key);
}
statusMultimap.removeAll(key);
map.remove(key);
redissonClient.getKeys().delete(String.format(JobConfig.EVENT_SHARDING, jobId, key));
}
}
代码示例来源:origin: justlive1/earth-frost
@Override
public String addCronJob(String jobId, String cron) {
String taskId = getRedissonClient().getExecutorService(JobConfig.WORKER)
.scheduleAsync(new JobDispatchWrapper(jobId), CronSchedule.of(cron)).getTaskId();
getRedissonClient().<String, String>getListMultimap(
JobConfig.TASK_ID).put(jobId, taskId);
return taskId;
}
代码示例来源:origin: justlive1/earth-frost
@Override
public JobInfo findJobInfoById(String id) {
RMap<String, JobInfo> map = redissonClient.getMap(JobConfig.JOB_INFO);
JobInfo jobInfo = map.get(id);
if (jobInfo == null) {
return jobInfo;
}
RListMultimap<String, JobScript> scriptList = redissonClient
.getListMultimap(JobConfig.JOB_INFO_SCRIPT);
RList<JobScript> list = scriptList.get(id);
int size = list.size();
if (size > 0) {
JobScript script = list.get(size - 1);
jobInfo.setScript(script.getScript());
}
return jobInfo;
}
内容来源于网络,如有侵权,请联系作者删除!