Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Autres
Autres Vos questions sur les autres serveurs d'application Java.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/04/2012, 15h45   #1
anthony1987
Invité de passage
 
Homme Anthony
Ingénieur développement logiciels
Inscription : avril 2012
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Anthony
Localisation : Luxembourg

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Conseil

Informations forums :
Inscription : avril 2012
Messages : 1
Points : 0
Points : 0
Par défaut Framework Play HTTP serveur et Prog asynchrone

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 :
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
anthony1987 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h22.


 
 
 
 
Partenaires

Hébergement Web