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

Java EE Discussion :

chargement dynamique de classes


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut chargement dynamique de classes
    bonjour
    précision préliminaire: je suis croyant mais pas encore pratiquant en JMS

    question:
    - sur une machine un producteur envoie un message contenant un objet
    - du coté de la machine récepteur on reçoit ce message mais on n'a pas la classe correspondante (eh oui ça arrive!)

    existe-t-il un mécanisme (plus ou moins standard ... ou déjà écrit par un autre) qui permette le chargement dynamique de la classe correspondante et la reconstitution "propre" de cet objet?

    On a déjà ça avec des mécanismes sur RMI (je penses à JINI) mais peut-on se passer d'écrire un ClassLoader qui fasse une demande à un serveur de classe (sur http par exemple)?

    merci pour tout tuyau ou suggestion

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    767
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 767
    Par défaut
    Bonjour,

    Croyant et pratiquant JMS, le messaging d'objet utilise le mécanisme de serialization des objets.
    Tu vas recevoir un java.io.Serializable, après tu en fais ce que tu veux.
    Le travail de JMS est terminé.

  3. #3
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par Jimmy_ Voir le message
    Bonjour,

    Croyant et pratiquant JMS, le messaging d'objet utilise le mécanisme de serialization des objets.
    Tu vas recevoir un java.io.Serializable, après tu en fais ce que tu veux.
    Le travail de JMS est terminé.
    moui.... mais si tu n'as pas la classe sous la main l'objet ne sera pas dé-serialisé!

    Il me semble (mais peut-être me trompes-je) que ça doit être assez courant d'avoir un producteur et un consommateur sur deux machines différentes avec la possibilité que le récepteur n'aie pas la bonne classe pour dé-serialiser....
    C'est un phénomène hyper-courant dans des architectures réparties (c'est pour ça que je citais "feu" JINI)

    edit: je peux écrire ma propre usine à gaz en faisant circuler des MarshalledObjects et en ayant mon propre ClassLoader coté récepteur ... mais pourquoi réécrire quelque chose qui a sans doute été déjà fait

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    767
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 767
    Par défaut
    Ceci dit, nous on s'envoie des Bytes on ne fait transiter que la 'charge utile'.

    Tu ne sais pas du tout l'objet que tu vas recevoir, même pas une liste d'objet possible ?

  5. #5
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par Jimmy_ Voir le message
    Tu ne sais pas du tout l'objet que tu vas recevoir, même pas une liste d'objet possible ?
    aucune chance... on est en informatique répartie: les machines sur le réseau peuvent inclure des codes nouveaux à tout moment et donc il faut que les machines réceptrices soient capables de récupérer dynamiquement ces codes.

    (pour moi ce n'est pas une situation exceptionnelle...)

  6. #6
    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
    JMS n'étant qu'une spécification, ils ne doivent pas avoir prévu ça dans l'API, si t'as besoin d'envoyer des informations dont la forme et la nature peut changer à tout moment pourquoi passer par la sérialisation Java.

    Je pense que le mieux c'est de sérialiser via un processus plus standard que celui proposé par Java.

    Il y a aucun miracle qui fera passer le code (comportement) de tes classes et celui de leurs dépendances.

    Je te conseille éventuellement de consulter la documentation de ton implémentation pour savoir comment la paramétrer et si par exemple tu peux spécifier le ClassLoader.
    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. "Chargement dynamique" de classe
    Par moutanakid dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2008, 16h37
  2. Erreur chargement dynamique de class
    Par rastakouair dans le forum Langage
    Réponses: 1
    Dernier message: 16/12/2007, 16h42
  3. Chargement dynamique de classe et version de java
    Par TabrisLeFol dans le forum Général Java
    Réponses: 8
    Dernier message: 15/02/2007, 17h13
  4. [Classpath][Classloader]Chargement dynamique de classes
    Par vberetti dans le forum Général Java
    Réponses: 9
    Dernier message: 08/07/2005, 12h11
  5. [tomcat]chargement dynamique de classes depuis une webapp
    Par alphamax dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/03/2004, 09h59

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