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

Persistance des données Java Discussion :

Convertir un objet non sérialisable en XML


Sujet :

Persistance des données Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut Convertir un objet non sérialisable en XML
    Bonjour,

    je dois envoyer à travers le réseau un objet Java fourni par une API JNI : JPcap, la version qui permet d'envoyer des paquets.

    Hélas, a la sérialisation de l'objet Packet de l'API, j'obtiens une exception qui me dit que l'objet n'est pas sérialisable.

    Il me faut trouver un moyen d'envoyer dans un tunnel Tcp cet objet et de le retrouver à l'identique de l'autre coté.

    J'ai pensé a le sérialiser vers XML (baisse de performance, mais ais je le choix?)

    J'ai trouvé ces API là qui "permettraient" de convertir en XML un objet non sérialisable et inversement (en théorie car non testé):

    http://javolution.org/
    http://jxm.sourceforge.net/manual.html
    http://jade.tilab.com/
    http://jsx.org/

    Ma question: laquelle choisir pour des performances optimales?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Points : 267
    Points
    267
    Par défaut
    Salut,

    Sinon il y à l'api XStream qui est très simple à utiliser et en plus tu as un tutorial sur dvp :
    tutorial

    Voilà j'espère que ca t'ira.

    a+

  3. #3
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Voir aussi les classes XMLEncoder et XMLDecoder (directement) présentes dans l'API Java depuis la version 1.4 !
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Kh4iN3
    Salut,

    Sinon il y à l'api XStream qui est très simple à utiliser et en plus tu as un tutorial sur dvp :
    tutorial

    Voilà j'espère que ca t'ira.

    a+
    Ais je besoin de faire un fichier de mapping? En fait je voudrais obtenir une représentation de l'objet sous forme XML, sans avoir a faire de mapping.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par g_rare
    Voir aussi les classes XMLEncoder et XMLDecoder (directement) présentes dans l'API Java depuis la version 1.4 !
    Je ne peu pas utiliser celà. Mon objet Packet n'est pas sérialisable et il s'agit d'un objet d'une API JNI, donc je ne peu le modifier! :-s

    Je voulais utiliser la serialisation binaire et celà ne marche pas (lire le premier post). C'est pour celà que je cherche un autre moyen d'envoyer un objet java non sérialisable à travers le réseau (et le retrouver à l'identique de l'autre coté du tunnel tcp).

    Merci

  6. #6
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    XMLEncoder et XMLDecoder n'ont pas besoin de travailler sur des objets "Serializable" (contrairement à ce que tu sembles croire) !

    http://java.sun.com/j2se/1.4.2/docs/...MLEncoder.html
    The XMLEncoder class is a complementary alternative to the ObjectOutputStream and can used to generate a textual representation of a JavaBean in the same way that the ObjectOutputStream can be used to create binary representation of Serializable objects.
    http://java.sun.com/j2se/1.4.2/docs/...va.lang.Object)
    public void writeObject(Object o)
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    En effet, merci beaucoup :0)

    Mais, je ne connais pas les spécifications exactes des JavaBeans, et je ne sais pas vraiment si les classes suivantes y répondent:

    http://netresearch.ics.uci.edu/kfuji...et/Packet.html

    http://netresearch.ics.uci.edu/kfuji.../IPPacket.html

    http://netresearch.ics.uci.edu/kfuji...UDPPacket.html

  8. #8
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Citation Envoyé par netdoor.fr
    Ais je besoin de faire un fichier de mapping? En fait je voudrais obtenir une représentation de l'objet sous forme XML, sans avoir a faire de mapping.
    Le tutorial de XStream indique qu'il est compatible avec tout objet sans besoin de définir un quelconque mapping.
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Points : 267
    Points
    267
    Par défaut
    En effet je confirme pas besoin de mapping pour utiliser XStream.

    a+

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut Test
    Pour l'instant, celà marche, mon instance JPcap de Packet est compatible avec XStream, j'obtiens le code xml sans erreur...le test dans quelques minutes pour voir si le paquet est correctement reconstruit à l'autre bout du tunnel Tcp. Si XStream fait bien son boulot, je devrais avoir un objet identique. :0) Merci

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Il faut que cela soit plus rapide, nous perdons la synchro entre les 2 serveurs a chaque bout du tunnel parce que la serialisation en xml met trop de temps avec XStream, que puis je utiliser de ultra rapide? quitte a faire une map xml pour les objets...

    Merci bcp

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/07/2015, 14h05
  2. Réponses: 4
    Dernier message: 02/12/2008, 12h00
  3. La sérialisation en XML d'un Objet partiellement chargé (JPA)
    Par mesios dans le forum Persistance des données
    Réponses: 2
    Dernier message: 22/05/2008, 11h45
  4. [gcc/ld] comment "zapper" les objets non référéren
    Par jula dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 05/01/2006, 15h15
  5. [SAX] Passer d'objet java en fichier XML?
    Par spoutyoyo dans le forum Format d'échange (XML, JSON...)
    Réponses: 15
    Dernier message: 05/01/2005, 08h31

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