Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modification de variable occupée par un Thread

    18 mai 2012 à 11:21:05

    Bonjour, je travaille actuellement sur une application répartie en JAVA.
    Il s'agit d'un chat couplé à une application de dessin.
    Mon problème est le suivant :

    Un utilisateur se connecte à l'application et arrive sur un chat "accueil", un second utilisateur se connecte au même endroit.
    L'un des utilisateurs créé un nouveau dessin, il invite ensuite l'autre utilisateur à le rejoindre via une ArrayList des utilisateurs invités.
    A ce moment là, j'ai une fonction creerSalonDessin qui, dans un try, modifie pour l'utilisateur qui est invité un paramètre correspondant au salon de chat dans lequel se trouve l'utilisateur.
    Cela se fait grâce à un setter qui prend en paramètre un getter du salon où se trouve l'utilisateur qui invite.

    Lors de l'exécution, je me retrouve avec un "java.lang.IllegalArgumentException: argument type mismatch", surement due à l'utilisation d'un thread.


    Voici une partie de code pour mieux voir.

    public void creerSalonDessin(Object[] listeinvite) throws RemoteException, MembreIntrouvable{
    		Collection<IChatteur> membreInvite = getListeInvites(listeinvite);
    		
    	
    		try {
    			Iterator<IChatteur> membre=membreInvite.iterator();
    		
    			while (membre.hasNext()){
    			
    			  IChatteur chatteurInvite =((IChatteur) membre.next());
    
    			  
    			  //joindre le chatteur invité à la salle
    			  chatteur.getSalleConversation().joindre(chatteurInvite);	
    
    			  //deconnection de l'accueil
    			  salle.deconnecter(chatteurInvite.getPseudo(), "L'utilisateur a été invité à partager un dessin.");	
    			 
    			//modifier la valeur de la salle de conversation 
    			  //!! Erreur de argument type mismatch
    			  chatteurInvite.setSalleConversation(chatteur.getSalleConversation());
    			
    			  System.out.println("*****************************");
    			  System.out.println("nombrechatteur : "+ chatteur.getSalleConversation().getMembres().size());
    			  System.out.println(" - "+ chatteurInvite.getPseudo());
    			  System.out.println("*****************************");
    		 
    			}
    			
    		}
    		
    		catch (Exception e) {
    			e.printStackTrace();
    		}
    
    		
    	}
    


    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter

    Modification de variable occupée par un Thread

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown