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

Langage Java Discussion :

[RMI] Service sans interface Remote


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Par défaut [RMI] Service sans interface Remote
    Bonjour,

    je travail actuellement sur un petit projet client / serveur en RMI mais je suis confronté à un problème majeur.
    Je dispose actuellement de la classe (impossible de les modifiers) Service et de son interface IService. IService n'hérite pas d'une autre interface.

    Dans un premier temps il met demande d'avoir un temps de vie pour l'objet. J'ai donc rajouter trois classes :
    - ServiceTime qui permet de stocker un Service et la dernière date d'appel d'une des méthodes
    - ServiceTimeMap en singleton : qui permet de stocker une liste de ServiceTime en fonction d'un ID.
    - ServiceTimeInvocationHandler qui implémente InvocationHandler. Cette méthode connais l'ID d'un ServiceTime

    Quand je demande à mon programme (pour le moment je ne test pas sur une architecture client / serveur)...
    d'instancier je créé un proxy afin d'intercepter les appels des méthodes de Service via la classe
    public Object invoke(Object proxy, Method method, Object[] args)
    Une fois dans cette méthode je récupère mon objet ServiceTime je compare les dates et si le timeToLive est OK
    J'appel ma méthode sinon je retourne une exception.
    Jusque là mon programme marche parfaitement.

    Dans un seconds temps, je doit donc passer en architecture RMI. Donc le client doit pouvoir utiliser des Services.
    Malheureusement, je ne sais pas comment faire sachant que IService n'hérite pas de Remote...
    Je pensais
    1) faire un proxy encore qui aurait pour interface Remote / IService et Serializable... (De la même façon que le dessus)
    2) UnicastRemoteObject.export(.....)
    3) un Naming.bind(....)

    Mais une fois que j'appel je fais un lookup depuis le client, je récupère bien mon Objet mais malheureusement
    il n'implémente plus IService et Seriablizable mais que Remote et quand je tente de caster j'ai un ClassCastException.
    Auriez-vous une idée ?


    Merci par avance pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Par défaut
    Personne ne peut me venir en aide ?

Discussions similaires

  1. [VB6] Programme sans interface graphique
    Par yuan dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/05/2006, 19h29
  2. faire un programme sans interface
    Par timsah dans le forum C++Builder
    Réponses: 8
    Dernier message: 01/02/2006, 10h16
  3. ActiveX dans un projet sans interface graphique
    Par Nalfouille dans le forum MFC
    Réponses: 6
    Dernier message: 04/01/2006, 17h30
  4. [Kylix] Programme sans interface graphique
    Par pewpew2001 dans le forum EDI
    Réponses: 1
    Dernier message: 06/10/2005, 19h46
  5. [Integration] Equivalent de l'interface Remote des EJB
    Par onlytoine dans le forum Spring
    Réponses: 36
    Dernier message: 07/01/2005, 14h55

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