|
|
@ -3,6 +3,7 @@ package com.fr.design.mainframe.share.ui.online.resource; |
|
|
|
import javax.swing.SwingWorker; |
|
|
|
import javax.swing.SwingWorker; |
|
|
|
import java.util.concurrent.ArrayBlockingQueue; |
|
|
|
import java.util.concurrent.ArrayBlockingQueue; |
|
|
|
import java.util.concurrent.BlockingQueue; |
|
|
|
import java.util.concurrent.BlockingQueue; |
|
|
|
|
|
|
|
import java.util.function.Predicate; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Created by kerry on 2020-12-10 |
|
|
|
* Created by kerry on 2020-12-10 |
|
|
@ -25,11 +26,16 @@ public class OnlineResourceManager { |
|
|
|
|
|
|
|
|
|
|
|
private final BlockingQueue<ResourceLoader> loaderBlockingQueue = new ArrayBlockingQueue<ResourceLoader>(100); |
|
|
|
private final BlockingQueue<ResourceLoader> loaderBlockingQueue = new ArrayBlockingQueue<ResourceLoader>(100); |
|
|
|
|
|
|
|
|
|
|
|
public void cancelLoad() { |
|
|
|
public void cancelLoad(Object key) { |
|
|
|
if (swingWorker != null) { |
|
|
|
if (swingWorker != null) { |
|
|
|
swingWorker.cancel(true); |
|
|
|
swingWorker.cancel(true); |
|
|
|
} |
|
|
|
} |
|
|
|
this.loaderBlockingQueue.clear(); |
|
|
|
loaderBlockingQueue.removeIf(new Predicate<ResourceLoader>() { |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public boolean test(ResourceLoader resourceLoader) { |
|
|
|
|
|
|
|
return resourceLoader.checkValid(key); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void addLoader(ResourceLoader loader) { |
|
|
|
public void addLoader(ResourceLoader loader) { |
|
|
|