这是我用来使用redisson调度某些对象的类:
@AllArgsConstructor
public class SchedulingService {
private final RQueue<MyObject> queue;
private final RDelayedQueue<MyObject> delayedQueue;
public void schedule(MyObject myObject) {
queue.offer(myObject);
}
public void schedule(MyObject myObject, Duration delay) {
delayedQueue.offer(myObject, delay.toMillis(), MILLISECONDS);
}
public Optional<MyObject> poll() {
return Optional.ofNullable(queue.poll());
}
}
我是这样配置的:
TypedJsonJacksonCodec codec = new TypedJsonJacksonCodec(MyObject.class);
RQueue<DownloadRequest> queue = redisson.getQueue("myQueue", codec);
RDelayedQueue<DownloadRequest> delayedQueue = redisson.getDelayedQueue(queue);
return new SchedulingService(queue, delayedQueue);
有什么办法可以预防吗 RQueue
及 RDelayedQueue
不接受重复条目?我不想排同样的队 myObject
如果它已经在队列中。
有什么建议吗?
暂无答案!
目前还没有任何答案,快来回答吧!