J'essaye d'utiliser un pool de threads pour faire des requêtes de blocage. Le problème est que chaque requête bloque tout le pool et que les éléments sont traités séquentiellement. Je ne sais pas si c'est même possible. Quelqu'un s'il vous plaît aiderAkka pool d'acteurs pour bloquer les requêtes
city-dispatcher {
type = Dispatcher
executor = "thread-pool-executor"
thread-pool-executor {
fixed-pool-size = 16
}
throughput = 100
}
Et Java
Props props = Props.create(CityDataProcessorActor.class, psRespHolder).withDispatcher("akka.actor.city-dispatcher");
SmallestMailboxPool pool = new SmallestMailboxPool(10);
ActorRef cityRequestActorPool = actorSystem.actorOf(pool.props(props), "city-request-route");
for (String city : citiesArray) {
Future<Object> future = Patterns.ask(cityRequestActorPool, new CityCommand(city.trim()), timeout);
Object results = Await.result(future, duration);
log.info(results.toString());
}
'résultats Object = Await.result (futur, durée);' ce morceau de code bloque. Votre boucle 'for' ne progressera pas tant que les résultats ne seront pas réclamés. –