package org.springframework.data.jdbc.jms.xml; import java.io.StringWriter; import javax.jms.JMSException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.springframework.jms.support.converter.MessageConversionException; import org.w3c.dom.Document; public class MessageDelegate { private int count = 0; public void handleMessage(Document xmlDoc) throws MessageConversionException, JMSException { count++; System.out.println("---> " + xmlDoc); String xmlString = xmlDocumentToString(xmlDoc); System.out.println(xmlString); } private String xmlDocumentToString(Document xmlDoc) throws TransformerFactoryConfigurationError { Transformer transformer = null; try { transformer = TransformerFactory.newInstance().newTransformer(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } transformer.setOutputProperty(OutputKeys.INDENT, "no"); StreamResult result = new StreamResult(new StringWriter()); DOMSource source = new DOMSource(xmlDoc); try { transformer.transform(source, result); } catch (TransformerException e) { e.printStackTrace(); } String xmlString = result.getWriter().toString(); return xmlString; } public int getCount() { return count; } }