0
我正在運行速度較慢的連接,並且每當數據庫中有新的實體可用時,我都想用回調設置速度流。我怎麼做?帶有速度流的異步回調
我正在運行速度較慢的連接,並且每當數據庫中有新的實體可用時,我都想用回調設置速度流。我怎麼做?帶有速度流的異步回調
這裏是做這件事的一種方法:
public class Main {
public static void main(String[] args) {
DemoApplication app = new DemoApplicationBuilder()
.withPassword("mySecretPw")
.build();
final Manager<Country> countries =
app.getOrThrow(CountryManager.class);
ForkJoinPool.commonPool().submit(
() -> countries.stream().forEach(Main::callback)
);
}
private static void callback(Country c) {
System.out.format("Thread %s consumed %s%n",
Thread.currentThread().getName(), c);
}
}
當然,你可以提供任何流的ForkJoinPool。例如,如果您只希望在回撥中接收名稱以「A」開頭的前十個國家/地區,則可以這樣寫:
ForkJoinPool.commonPool().submit(
() -> countries.stream()
.filter(Country.NAME.startsWith("A"))
.limit(10)
.forEach(Main::callback)
);