2013-02-28 1 views
1

Je veux sérialiser un MQMessage et l'enregistrer sur le disque/base de données. Mon but est de pouvoir le désérialiser plus tard avec tous les en-têtes, propriétés et contenus nommés intacts.linéariser/désérialiser un MQMessage

Pour être clair, je besoin de quelque chose comme ceci:

byte[] serialize(MQMessage m); 
MQMessage deserialize(byte[] b); 

de telle sorte que lorsque vous faites ce qui suit:

MQMessage M = deserialize(serialize(m)); 

ce que je reçois est que M est un "clone" de m.

Cela est nécessaire pour être en mesure, le cas échéant, soumettre à nouveau des messages pour le traitement (dans un grand réseau MQ, les applications vont manger/perdre quelques messages plus tôt ou plus tard). En tant que tel, je dois pouvoir désérialiser une copie 1: 1 de chaque MQMessage Je veux soumettre à nouveau (à savoir non seulement de son contenu, mais aussi ses en-têtes, les propriétés, l'encodage, le format, et ainsi de suite ...).

Malheureusement, il semble que MQMessage ne met pas en œuvre une sorte de mécanisme de sérialisation. Comment iriez-vous faire cela? Est-ce que le code de sérialisation/désérialisation est artisanal?

Répondre

0

Pourquoi réinventer la roue. Il y a déjà beaucoup d'outils gratuits et commerciaux disponibles pour relire les messages.

Voici une liste d'outils gratuits MQ: http://www.capitalware.biz/mq_tools.html

Voici une liste d'outils commerciaux MQ: http://www.capitalware.biz/mq_tools_comm.html

+0

Merci pour la réponse, mais ma question était « comment puis-je le faire? » , pas "quels outils dois-je utiliser?" (c'est-à-dire, j'ai posté une question sur StackOverflow, vous avez donné une réponse qui serait OK sur SuperUser). – CAFxX

+0

En outre, puisque vous publiez des liens vers votre site, vous voudrez peut-être de savoir que certains des liens sont obsolètes (404, etc.). – CAFxX

Questions connexes