Bonjour à tous!

Je viens à vous car j'ai un petit souci sur lequel je coince depuis hier après-midi et que je ne parviens pas à résoudre malgré de nombreuses lecture de documentation sur le sujet.

Je suis actuellement en train de tester différentes technologies de serveurs permettant le fonctionnement en asynchrone. Le frameworrk Play sur lequel je bloque en ce moment le permet notamment.

Ce que je souhaite faire est simple, un serveur HTTP qui lorsqu'il reçoit une requête lance le traitement (supposé long) de cette dernière en asynchrone et ainsi libérant le thread se chargeant des entrées/sorties.

Voila ce qu'il y a dans le fichier "routes" permettant de rediriger une requête vers une méthode de classe.

GET / controllers.Mobey.callBackToCreateInvoice(work, montant)

Et voici une partie de la classe et l'erreur que j'obtiens.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class Mobey extends Controller {

	public static Result callBackToHw() {
		return ok("hello");

	}
	public static Promise<Result> createInvoice() {
		// Creation d'un acteur system
		ActorSystem system = ActorSystem.create("MobeySystem");
		
		Function<Object, Result> f = new Function<Object, Result>() {
			public Result apply(Object response) {
				return ok(index.render("Allez viens on est bien"));
			}
		};
	
		Promise<Result> pr = async(Akka.asPromise(ask(system, "createInvoice", 112.00	)).map(f));	
		return pr;
	}

	private static Future<Object> ask(ActorSystem system, String work, final double mont) {
		// create the master
		@SuppressWarnings("serial")
		ActorRef master = system.actorOf(new Props(new UntypedActorFactory() {
			public UntypedActor create() {
				return new Master(4, mont);
			}
		}), "master");
		master.tell(new CreateInvoice());
		return null;
	}

L'erreur est la suivante (elle pointe sur la ligne ou j'ai le mot "map" en rouge)

The method map(F.Function<Object,B>) in the type F.Promise<Object> is not applicable for the arguments (Function<Object,Result>)

Je n'ai mis qu'uniquement le code de la classe qui traite les requêtes HTTP. Le traitement intervenant après n'es pas l'objet du problème.

J'espère que quelqu'un aura une idée.
Je suis à disposition pour toute info supplémentaire.
Merci