Hi Guys, I am trying to use ActiveMQ with HTTP transport. After setting up the broker, when I tried to send msgs and I got the following exceptions: After debugging, the exception occured during "connection.start()".
Thanks a lot in advance The apache-activemq-5.9.0 is used. I have HTTPclient and XStream jar loaded. <http://activemq.2283324.n4.nabble.com/file/t378779/activemqJars.jpg> Exception in thread "ActiveMQ Transport: HTTP Reader http://10.30.101.60:61610" com.thoughtworks.xstream.io.StreamException: : input contained no data at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:126) at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148) at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141) at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118) at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103) at com.thoughtworks.xstream.io.xml.XppReader.<init>(XppReader.java:63) at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:54) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:913) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:904) at org.apache.activemq.transport.xstream.XStreamWireFormat.unmarshalText(XStreamWireFormat.java:51) at org.apache.activemq.transport.util.TextWireFormat.unmarshal(TextWireFormat.java:49) at org.apache.activemq.transport.http.HttpClientTransport.run(HttpClientTransport.java:142) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.EOFException: input contained no data at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3003) at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046) at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109) ... 12 more The code of sending msg is quite straightforwad: public class SendTest { /** * @param args */ public static void main(String[] args) { String name = ActiveMQConnection.DEFAULT_USER; String pwd = ActiveMQConnection.DEFAULT_PASSWORD; String url = "http://10.30.101.60:61610"; SendUtil sender = new SendUtil(name, pwd, url, "FirstQueue2"); for (int i = 0; i < 10; i++) { sender.sendMessage("message" + i); } } } package com.activemq.util; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class SendUtil { private Connection connection = null; private Session session; private MessageProducer producer; public SendUtil(String userName, String pwd, String url, String queueName) { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory( userName, pwd, url); try { connection = connectionFactory.createConnection(); connection.start(); session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue(queueName); producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); sendMessage(session, producer); session.commit(); } catch (Exception e) { close(); e.printStackTrace(); } } public void sendMessage(String message) { try { TextMessage msg = session.createTextMessage(message); producer.send(msg); session.commit(); } catch (JMSException e) { close(); e.printStackTrace(); } } public void close() { try { if (producer != null) producer.close(); if (session != null) session.close(); if (connection != null) connection.close(); } catch (Throwable ignore) { } } } -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html