Partage
  • Partager sur Facebook
  • Partager sur Twitter

RMI Proxy et Handler

propre implémentation

Anonyme
    8 janvier 2009 à 22:50:10

    Bonjour,

    quand nous utilisons RMI est-il possible de définir son propre handler ?
    En effet, quand le proxy (stub) appels la méthode distante j'aimerai effectuer divers contrôle avant avant d'appeler la méthode. (Attention, les controles sont côté serveur).
    Vous me direz : Il suffit de rajouter ses contrôles sur la classe mais je ne peux pas...
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      8 janvier 2009 à 23:07:10

      Crée un listener ou des dépendances indirectes.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        8 janvier 2009 à 23:42:04

        comment ca, tu as un petit exemple car je ne comprend pas là.
        Rajouter un listener mais sur quel composant.
        Qu'est qu'un dépendance indirecte ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          9 janvier 2009 à 22:34:36

          Tu rajoutes un listener avant l'appel des methodes distantes, les classes héritent toute d'une interface commune je pense, donc ce sera facile.

          Pour les dépendance indirecte je me suis mal exprimé, je voulais plutôt dire une classe wrapper par exemple.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            9 janvier 2009 à 23:24:52

            Citation : shakhal

            Tu rajoutes un listener avant l'appel des methodes distantes, les classes héritent toute d'une interface commune je pense, donc ce sera facile.



            je ne comprends toujours pas. Pour moi la sécurité des appels doit être gérer du côté du serveur ? De plus je n'ai pas la main sur les classes et interface qui implémentes Remote...
            par conséquent je ne peux pas rajouter de listener.

            La solution de la classe Wrapper serait :
            interface IService implements Remote, Serializable
            {
            	public String methode1(...) throws RemoteException
            }
            
            class Service implements IService
            {
            
            	private int i ;
            
            	private static id = 0 ;
            	
            	public Service()
            	{
            		id++ ;
            		i = id ;
            	}
            	
            	public String methode1(...) throws RemoteException
            	{
            		return "Bonjour numéro : " + i ;
            	}
            
            	
            }
            
            class WrapperService implements IService
            {
            	
            	private Service service ;
            	
            	public Service()
            	{
            		service = new Service();
            	}
            	
            	public String methode1(...) throws RemoteException
            	{
            		// Je commence par effectuer mes contrôles.
            		...
            		// Pour finir j'appel la méthode
            		return service.methode1(...);
            	}
            
            }
            


            et comme objet distant je stocke des WrapperService au lieux des Services ? (Celà reviens plus ou moins à implémenter le patron de conception Proxy ? )

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              9 janvier 2009 à 23:39:23

              1)Vu qu'elles implémente Remote elles sont identifiable, tu peut donc faire un listener sur toutes les Remote(si c'est le but sinon c'est plus délicat)

              2)Oui c'est bien ça.
              • Partager sur Facebook
              • Partager sur Twitter

              RMI Proxy et Handler

              × 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