2011-08-11 12 views
1

私は.xmlファイルを持っており、コンテンツをJMSキューに送信したいとします。これで、このxmlをtextmessageに変換して送信する必要がありますか?またはxmlを直接送信できる方法があります。XMLファイルをJMSキューに渡す方法

また、オブジェクト(例:MyClass.javaのオブジェクト)をJMSキューに送信することも可能ですか?

私を導いてくれてください。

+0

私の答えは、http://stackoverflow.com/questions/9891558/sending-a-xml-message-to-jms-using-c-sharp/9891723#9891723 – ldgorman

+0

で重複しています。ByteMessageとしてxmlを送信すると良いアイデア:理由についてはhttp://stackoverflow.com/questions/10849828/when-sending-xml-to-jms-should-i-use-textmessage-or-bytesmessage?answertab=active#tab-topを参照してください。 – koendewaele

答えて

0

TextMessageを使用してXMLを送信できます。 XMLはすでにファイルに保存されているので、BytesMessageを使用して生のバイトコンテンツを送信する可能性を検討します。最初の選択肢の場合は、ファイルの内容を再読み込みするときに正しいエンコーディングを使用するように注意してください。

Javaオブジェクトは、シリアライズ可能であれば、JMSメッセージとして確実に送信できます。

+0

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); ドキュメントdoc = docBuilder.parse( "/ path/file.xml"); StreamResult result =新しいStreamResult(新しいStringWriter()); DOMSource source =新しいDOMSource(doc); transformer.transform(source、result); 文字列xmlString = result.getWriter()。toString(); 私が最初の選択肢を使用している場合は、これは私が行くべき方法ですか? – Isuru

+0

ええと、私はストリーム結果にWriterを使用することに少し注意しています。エンコーディングなどの結果が100%確実ではありません。 BytesMessageを使用する場合は、解析とシリアライゼーションの手順を実行する必要はありません。 –

関連する問題