我需要限制某些外部服务的连接速率(在我的 servlet 中),我决定尝试一下 ScheduledExecutorService。调度本身似乎运行得很好,但输出只是偶尔打印 - 在大多数情况下没有输出任何内容。为什么会发生这种情况?我使用 Tomcat 7 作为测试服务器。
int waitingtimeinmilliseconds = 5000;
ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
ScheduledFuture scheduledFuture = scheduledExecutorService.schedule() {
public void run() {
Fetcher fetcher = new Fetcher(loginname, password);
List<Item> items = fetcher.fetchItems();
// do something with the results
//ServletOutputStream
out.print("teststring" + items.size());
}
}, waitingtimeinmilliseconds, TimeUnit.MILLISECONDS);
scheduledExecutorService.shutdown();