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

API standards et tierces Java Discussion :

RMI : equals et hashcode


Sujet :

API standards et tierces Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 23
    Par d�faut RMI : equals et hashcode
    Bonjour,

    J'ai une application utilisant RMI ; donc cot� serveur une logique m�tier, et client client de simples appels.

    Voici mon code :

    Serveur :
    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
     
    public class SecurityServiceImpl extends ServiceImpl implements SecurityService {
     
            private List<User> connectedUser;
     
    	public User connect(String userName, String password) throws AlreadyLoggedException, LoginFailedException, RemoteException {
     
    		for(User user : connectedUser ) {
    			if ( user.getUserName().equals(userName) ) {
    				throw new AlreadyLoggedException();
    			}
    		}
     
     
    		User user = new UserImpl();
    		user.setUserName(userName);
    		user.setPassword(password);
     
    		...
     
    		connectedUser.add(user);
     
    		return user;
    	}
     
           @Override
    	public void disconnect(User user) throws NotConnectedException, RemoteException {
    		if ( !isConnected(user) ) {
    			throw new NotConnectedException();
    		}
     
    		connectedUser.remove(user);
    	}
    }
    SecurityServiceImpl �tend UnicastRemoteObject
    SecurityService impl�mente Remote
    User impl�mente Remote
    UserImpl �tend UnicastRemoteObject
    Voici le code client :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    SecurityService rmiService = (RMIService) Naming.lookup(urlService);
     
    User myUser  = securityService.connect("test","test");
    securityService.disconnect(myUser);
    Probl�me : la fonction connectedUsers.remove() ne fonctionne pas. J'ai remarqu� qu'elle utilisait la m�thode equals() pour trouver l'�lement � supprimer, hors c'est la m�thode equals() du stub de l'objet User qui est appel�e, et non la m�thode UserImpl.equals(). Donc c'est tout � fait normal qu'il n'arrive pas � trouver l'objet dans la liste.
    Initialement connectedUsers �tait un Set<User>, qui utilise la m�thode hashCode(), et j'ai eu le m�me probl�me (c'est la m�thode hashCode du Proxy qui est appel�, et non celle de l'objet sur le serveur)...

    Comment je dois faire pour utiliser des objets qui font des all�s retour via rmi entre le client et le serveur ?

    Merci

  2. #2
    R�dacteur/Mod�rateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Ao�t 2005
    Messages
    2 894
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 2 894
    Par d�faut
    Pourquoi ne pas coder "hashCode" et "equals" dans User plut�t que UserImpl ?
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le probl�me) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

Discussions similaires

  1. Equaliz 0.2 : Des methodes equals et hashcode orient� m�tier
    Par benjamalin dans le forum API standards et tierces
    R�ponses: 0
    Dernier message: 16/08/2010, 14h49
  2. Red�finir equals et hashcode
    Par maxired dans le forum Langage
    R�ponses: 9
    Dernier message: 15/06/2009, 18h53
  3. R�ponses: 0
    Dernier message: 26/11/2007, 15h47
  4. Modifier le template de equals et hashCode
    Par Baptiste Wicht dans le forum Eclipse Java
    R�ponses: 4
    Dernier message: 13/04/2007, 15h26
  5. [Optim Code]equals and hashCode are not paired
    Par anitshka dans le forum D�buter avec Java
    R�ponses: 3
    Dernier message: 15/09/2006, 23h25

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