Beim senden von XML JMS-sollte ich verwenden Kurzmitteilung oder BytesMessage
Ich habe einige ziemlich widersprüchliche Informationen im web und ich denke, dass jeder andere JMS-provider können auch ändern, die Antwort auch.
Ich versuche zu verstehen, die beim senden von XML-Daten in eine JMS-system (z.B. ActiveMQ), ob ich sollte ein
-
BytesMessage : ich kann garantieren, dass die XML-Serialisierung korrekt und die Präambel stimmt mit der tatsächlichen Kodierung. Außerdem kann ich mir sicher sein, dass der client in der Lage sein, um die raw-Darstellung korrekt.
-
Kurzmitteilung : Es gibt APIs in vielen der queue-Implementierungen für das senden von XML-leicht. Ich verstehe auch, dass es "Codierung" Informationen angehängt, die Nachrichten. Aber ich riskiere die Kodierung der Nachricht (und das schreiben der Präambel) von einem format in ein und empfangen es als ein anderes.
Hat jemand eine definitive Antwort, oder zumindest ein paar Gründe, warum Sie wählen einen über den anderen?
- keine definitive Antwort, tut mir Leid. Meine 2cts: XML ist ein Textformat, daher verwenden Kurzmitteilung. Wenn Sie das senden von binären Daten, sprich ein zip-oder jpg-Datei, dann verwenden Sie BytesMessage. Lassen Sachen machen Sinn (w/o-Dokumentation). Es hält (Entwickler/Tester/Wartung) das Leben leichter.
- versuchen Sie arbeiten für ein defence-Projekt und erzählen Sie Ihren manager "Wir gehen nicht, um es zu dokumentieren um es einfacher zu machen...". Trotzdem bekomme ich, was Sie sagen. Base-64-codierte UTF8 nicht zu schlecht ist, ohne Rückgriff auf so etwas wie MTOM.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Stimme mit jos' Kommentar zu Ihrer Frage. First off, Sie sollten wählen Sie die Art der message-Typ, der am besten ausdrückt, die Semantik Ihrer Inhalte. Lesen Sie die
Kurzmitteilung
Javadoc, würde ich gehen für, die:Also, wenn Sie laufen in Probleme mit Ihrem SMS-Kodierung, dann gibt es wahrscheinlich einige mis-Konfiguration auf dem client /server-Seite. Aber das sollte nicht die motivation für den Missbrauch eine andere Art der Nachricht, die war nicht in Erster Linie für text-transfer -, wie
BytesMessage
.N. B: Auch mit
BytesMessage
ist, können Sie die Codierung falsch. Stellen Sie sich vor: