Hi Guys, I'm newbie on ActiveMQ. I've been trying to develop JMS using ActiveMQ. I create 2 file first as sender : package tutorial.jms;
import java.util.Date; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class HelloQueueSender { public static void main(String[] args) throws JMSException { ConnectionFactory factory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL); Date mulai = new Date(); System.out.println("Start Sending : " + mulai); Connection conn = factory.createConnection(); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue destination = sess.createQueue("test"); MessageProducer prod = sess.createProducer(destination); TextMessage msg = sess.createTextMessage(); msg.setText("Hello JMS"); int i = 1; while (i<=5000){ prod.send(msg); i++; } prod.close(); sess.close(); conn.close(); Date selesai = new Date(); System.out.println("End Sending : " + selesai); } } second is for receiver : package tutorial.jms; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class HelloQueueReceiver { public static void main(String[] args) throws Exception { ConnectionFactory factory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL); Date mulai = new Date(); System.out.println("Start Receiving : " + mulai); Connection conn = factory.createConnection(); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue destination = sess.createQueue("test"); MessageConsumer consumer = sess.createConsumer(destination); conn.start(); int counter = 1; while(true) { Message msg = consumer.receive(1000); if (msg == null) break; if (msg instanceof TextMessage) { TextMessage txtmsg = (TextMessage) msg; } } consumer.close(); sess.close(); conn.close(); Date selesai = new Date(); System.out.println("End Receiving : " + selesai); } } ======================================================= What my concern is sender performance, for 5000 messages takes 135sec or 37msg/sec but receiver performance is very good at 2500msg/sec. My question is why it so be different, I guess my code is wrong. Can anybody help me solved this problem? Regards, Heikal -- View this message in context: http://www.nabble.com/ActiveMQ-Sending-Performance-tf4833383s2354.html#a13827979 Sent from the ActiveMQ - User mailing list archive at Nabble.com.