I'd say you run out of memory on the broker due to a memory leak in the connection handling, every closed connection leaves a thread open and still hogs some memory. You can check that with jConsole. Can you try reusing or pooling the connections? There's a PooledConnectionFactory that does this. It's advisable to do this anyway as the constant open/close of connection uses a lot of system resources and slows down your producer quite a bit.
--Mario On Sat, Aug 30, 2008 at 11:15 AM, Jigar Naik <[EMAIL PROTECTED]> wrote: > > hi > > i am facing problem with producer, > > My producer stops producing messages after producing 1542 messages on active > mq > > bellow is my output after running producer thread > > OUTPUT > Message Sent : Hello This is a text message on active MQ : 1542 > Exception in thread "ActiveMQ Transport: tcp://localhost/127.0.0.1:61616" > java.lang.OutOfMemoryError: Java heap space > Exception in thread "InactivityMonitor ReadCheck" > java.lang.OutOfMemoryError: Java heap space > > What could be the possible reason for this error.. > > bellow is my producer code... > Producer.java > --------------------- > package org.icrm; > > import javax.jms.Connection; > 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 Producer { > private MessageProducer producer; > ActiveMQConnectionFactory connectionFactory; > Connection connection; > Session session; > Destination destination; > > public static void main(String[] args) { > Producer p = new Producer(); > > for(int i=0;i<100000;i++){ > p.sendMessageToActiveMQ("Hello This is a text message > on active MQ : " + > i, "TestQueue"); > } > > } > /** > * Send Message to ActiveMQ > * @param message > * @param queueName > */ > public void sendMessageToActiveMQ(String message,String queueName){ > try { > connectionFactory = new > ActiveMQConnectionFactory("tcp://localhost:61616"); > connection = > connectionFactory.createConnection(); > connection.start(); > session = > connection.createSession(false, Session.AUTO_ACKNOWLEDGE); > destination = > session.createQueue(queueName); > this.producer = > session.createProducer(destination); > this.producer.setDeliveryMode(DeliveryMode.PERSISTENT); > TextMessage textMessage = session.createTextMessage(); > textMessage.setText(message); > this.producer.send(textMessage); > System.out.println("Message Sent : " + message); > } catch (JMSException e) { > e.printStackTrace(); > } catch (Exception e){ > e.printStackTrace(); > }finally{ > producer = null; > connectionFactory = null; > connection = null; > session = null; > destination = null; > } > > } > } > > -- > View this message in context: > http://www.nabble.com/Producer-stops-producing-messages-after-producing-1542-messages.-tp19231685p19231685.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >