IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

GWTeventService hello word


Sujet :

GWT et Vaadin Java

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut GWTeventService hello word
    Bonjour,

    J'essaye de réalisé un mini chat a l'aide de la librairie GWTEventService. Je me suis aidé de cette page http://luck0r.wordpress.com/2009/04/...e-hello-world/.

    Cependant j'ai la même erreur que celui qui à poster ces sources. j'essaye depuis cette aprèm de résoudre ce problème, mais toute mes tentative fut un échec.
    Je vois pas trop d'où vient le souci. Lorsque j'affiche ma page j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    26 déc. 2009 02:17:40 com.google.appengine.tools.development.LocalResourceFileServlet doGet
    WARNING: No file found for: /HelloWord/gwteventservice
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  2. #2
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut
    petit up.

    Je parvient toujours pas à effectuer des push (même avec d'autres librairies).
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut
    Ou pourrait-je trouver une doc qui me montre comment fonctionne les push.
    J'ai regardé attentivement cette librairie mais j'y arrive pas: GWTEeventService.
    J'essaye de faire un mini chat mais impossible de trouver. J'ai également essayé avec un tas d'autres librairies mais je trouve pas. Quelqu'un aurait déjà réussi et pourrait m'expliquer comment ça fonctionne?
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  4. #4
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut
    J'ai trouvé ce que je voulais faire sur le net. A cet adresse: http://messenger.gwtapps.com/

    Je me suis donc procuré le livre qui s'intitule: "Google Web Toolkit Applications", car c'est ici qu'il parle de ca projet.
    Très bon livre dommage qu'il soit que en anglais ^^.

    En lisant le chapitre concernant ce projet, j'ai appris pas mal de chose. Si j'ai bien compris il faut donc installer un serveur tomcat (déjà intégré dans le serveur GWT?). Et les source du projet son également disponible ici (chap 9): http://groups.google.com/group/gwtapps/files

    Mais je ne parvient pas à faire fonctionner ce projet en local. j'ai cette erreur:
    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
    GRAVE: Class "com.gwtapps.messenger.server.MessengerServiceCometImpl" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
    org.datanucleus.exceptions.ClassNotResolvedException: Class "com.gwtapps.messenger.server.MessengerServiceCometImpl" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
    	at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:250)
    	at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:415)
    	at org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java:379)
    	at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:743)
    	at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:545)
    	at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57)
    	at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:60)
    	at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)
    Il doit me manquait une library je pense.
    Mais autre truc me chagrine. j'ai installé tomcat et mis le plugin pour eclipse mais je vois pas comment il est renseigné sur le projet.

    Pour installer le projet j'ai juste créé un nouveau wep projet et remplacer le répertoire source par celui que j'ai téléchargé.

    Pour info j'ai gwt 2.0 et eclipse 3.4.2

    Quelqu'un à déjà lu ce livre? Et si oui, avez-vous réussi à paramétrer le projet?
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Bonjour,

    Quelques pistes pour commencer ...

    1)
    Peut être y a t'il moyen de le faire fonctionner avec la version 2.0 mais je remarque que dans le nom du fichier zip, il est écrit gwt 1.4 :
    GWT1.4 - Chapter 9 - Instant Messenger.zip

    2)
    As tu suivi les indications fournis dans le fichier Readme.txt ?

    3)
    As voir ton erreur, tu as laissé coché l'option GAE (dans le plugin Eclipse à la création d'un nouveau Projet)
    Est-ce volontaire ou non ? car GAE (google app engine est un environnement d'execution Java un peu particulier (gratuit et limitatif))

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  6. #6
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut
    Merci de me répondre.
    Oui j'ai lu les indication sur le readme mais comme j'ai installé GWT 2.0 j'ai limpression que la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    applicationCreator -eclipse GWTApps  com.gwtapps.messenger.client.Messenger
    ne fonctionne pas avec cette version.

    Donc il faudrait que je le fasse avec la version 1.4 de GWT. Je ne pourrais donc pas bénéficier des dernières fonctionnalités.

    Pour l'option GAE non c'était pas volontaire, je pensais que c'était nécessaire et j'ai essayé de recréer un projet en le retirant.
    Je n'es plus l'erreur affichée à la console mais dans 2fichier j'ai toujours des erreurs (que j'avais avant).


    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
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.lang.reflect.Method;
    import java.util.HashMap;
    import java.util.Map;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.catalina.CometEvent;
    import org.apache.catalina.CometProcessor;
     
    import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
    import com.google.gwt.user.server.rpc.RPC;
    import com.google.gwt.user.server.rpc.RPCRequest;
     
    public class MessengerServiceCometImpl extends HttpServlet implements CometProcessor {
    	...
    il connait pas les import, pour cette raison je demandais s'il me maquait des library, j'ai essayé d'en ajouter mais pas du trouver les bonnes
    et aussi de cette classe
    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
    33
    34
    35
    36
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
    import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
    import com.google.gwt.user.server.rpc.RPC;
    import com.google.gwt.user.server.rpc.RPCRequest;
     
    public class MessengerServiceContinuationsImpl extends HttpServlet {
     
    	class ContinuationsMessengerService extends AbstractMessengerService{
     
    		final ThreadLocal perThreadRequest = new ThreadLocal();
    		public String getCurrentId() {
    			return ((HttpServletRequest)perThreadRequest.get()).getSession(true).getId();
    		}
     
    		public void onEvents(String id) {
    			synchronized(pendingRequests){
    				Continuation c = (Continuation)pendingRequests.get( id );
    				if( c != null ){
    					pendingRequests.remove(id);
    					c.resume();
    				}
    			}
    		}
    ...
    Il aime pas la classe Continuation qui est propre a jetty si j'ai bien compris.

    Donc pour toi la meilleurs solution serait de prendre la version antérieur de GWT?
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  7. #7
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Je ne dis pas qu'il ne faut pas utiliser la dernière (gwt 2.0), on peut essayer comme tu l'as fait (pour gagner du temps).
    Je dis juste qu'il faut procéder par étapes (quand on y arrive pas) et qu'une première étape peut consister à faire fonctionner leur exemple dans le même contexte que le leur. Et ensuite, d'essayer le "portage" vers une version plus récente.
    Cela évite souvent de cumuler les problèmes.

    Pour en revenir à l'exemple en lui même, j'ai survolé le chapitre en question du bouquin :
    1) Explication du pooling
    2) Explication du protocole basé sur les évènements.
    3) Solution mixte basé sur le pooling en bloquant les threads côté serveur pendant un laps de temps.
    4) Utilisation de comet avec tomcat
    5) Utilisation de continuation avec jetty

    A priori, ton exemple utilise donc les continuation de jetty et il est en effet fort probable qu'il faille ajouter un/des jars. Quand à trouver les bons, c'est une autre histoire ...

    Dans la version 7 de jetty , ça semble un peu mort :
    Continuations will be replaced by standard Servlet-3.0 suspendable requests once the specification is finalized. Early releases of Jetty-7 are now available that implement the proposed standard suspend/resume API
    Peut être dans celle d'avant ? http://dist.codehaus.org/jetty/jetty-6.1.22/
    C'est que ça ne semble pas précisé dans le bouquin ?

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  8. #8
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut
    J'ai instaler gwt 1.4.6 et j'ai suivi les manip du readme, sauf pour l'étape 6 car les 3-4 library qui est énoncé sur cette parti ne concerne pas ce projet il me semble.
    Et j'ai toujours les même erreur. Je pense que le souci est que je ne parviens pas a configuré mon projet pour intégrer jetty et tomcat. D'ailleurs dois-je ajouter ces 2 serveurs où un seul suffit?

    Pour jetty j'ai dézyppé le fichier que tu m'a montré et j'ai lancé le service jetty. J'ai rien à installé?

    Peux tu me dire comment configuré le projet pour intégrer les serveurs? à moins qu'il faut juste intégrer des library et lancer le projet en ayant démarrer les serveurs?

    Pour les import de la classe MessengerServiceCometImpl j'ai toujours pas trouvé la library j'aurais pensait que c'était catalina.jar, mais non.
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  9. #9
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Points : 230
    Points
    230
    Par défaut
    j'ai réussi à le faire fonctionner.

    DOnc j'ai ajouter la library catalina.jar qui se trouve dans le répertoire de tomcat (je prennais pas la bonne) au path. Ensuite j'avait plus les erreur d'import.
    Pour les erreur concernant jetty j'ai supprimé cette classe car je pense qu'un seul serveur suffit.
    Ensuite j'ai compilé en lançant messenger-compil.cmd (diférant de GWT 2.0)
    Et j'ai lancé l'appli en exécutant messenger-shell.cmd
    Et j'ai changé le conector de tomcat comme écrit dans le livre

    Merci pour ton aide. Je vais pouvoir continuer mon projet en espérant avoir moins de problème
    [Android] Shopy liste de course (Java)

    votre fidèl serviteur


  10. #10
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Tant mieux si tu as réussi à faire tourner l'exemple.

    Quelques commentaires suite à tes interrogations :

    Pour moi, l'execution du projet ne nécessite q'un seul serveur d'application, soit tomcat, soit jetty.
    De plus, si j'ai bien compris les exemples du chapitre, soit on choisi d'utiliser comet avec tomcat, soit continuation avec jetty mais pas les deux.

    Gwt embarque normalement un serveur d'application.
    La version 1, c'était jetty
    Puis, ils sont passé à tomcat
    Puis ils sont revenus à jetty avec la dernière.

    Bref, dans les deux cas, puisque un serveur d'application est embarqué avec gwt, il n'y a pas besoin de l'installer en tant que tel. Il faut juste lui fournir les librairies des classes qu'il attend (mettre le bon jar dans le classpath)
    Pour tomcat, classes dans un jar de tomcat (catalina d'après tes dires)
    Pour jetty, classes dans un jar (qui se trouve peut être dans l'archive indiquée)

    Si je suis presque convaincu qu'une seule solution est utilisée à un instant t, il est fort probable que l'exemple contienne les deux solutions (avec jetty et tomcat) et qui par la même nécessite
    soit les deux archives sous peine d'avoir des erreurs de compilation
    soit la suppression de la solution non utilisée

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Hello Word
    Par dourouc05 dans le forum Téléchargez
    Réponses: 0
    Dernier message: 29/10/2010, 13h47
  2. Jacorb:hello word naming service
    Par bibi_bobo dans le forum CORBA
    Réponses: 3
    Dernier message: 01/04/2009, 19h04
  3. Hello Word en Russe Chinois
    Par Naeco dans le forum Général Java
    Réponses: 7
    Dernier message: 23/04/2007, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo