activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Olivier Bigard <obig...@axway.com>
Subject Re: High message frequency causes ActiveMQ to freeze
Date Fri, 18 Jan 2008 14:30:01 GMT

The session is not transacted in our simple testcase...


rajdavies wrote:
> 
> looks like you are creating transacted sessions and not calling commit
> - is that you mean to do ?
> 
> On Jan 18, 2008, at 6:59 AM, Olivier Bigard wrote:
> 
>>
>> Hello,
>>
>> We had the same problem with ActiveMQ 5.0.0.
>> Yesterday we downloaded the last 5.1 SNAPSHOT and the message  
>> disappeared,
>> but ActiveMQ is still frozen after some messages...
>> I put a message in the forum with our Java code.
>> We are running ActiveMQ on Solaris platform with JDK 1.5.0_07.
>>
>> Can anyone help us?
>> Thank you
>>
>>
>>
>> Juergen.Schumacher wrote:
>>>
>>> Hello,
>>>
>>> ok, attaching the source code file does apparently not work here.
>>> So here are the relevant code parts from the producer and processor
>>> classes,
>>> which create the connections to ActiveMQ and the messages.
>>>
>>> Sorry for the trouble...
>>>
>>> Regards,
>>> J├╝rgen Schumacher
>>>
>>> ----------------
>>> Procucer.java
>>>
>>>  private void initializeBrokerConnection() throws JMSException {
>>>    LOG.info("Connecting to " + brokerUrl);
>>>    ActiveMQConnectionFactory connectionFactory =
>>>      new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
>>> ActiveMQConnection.DEFAULT_PASSWORD, brokerUrl);
>>>    connection = connectionFactory.createQueueConnection();
>>>    connection.start();
>>>    session = connection.createQueueSession(true,
>>> Session.CLIENT_ACKNOWLEDGE);
>>>    destination = session.createQueue("queue1");
>>>    producer = session.createProducer(destination);
>>>    producer.setDeliveryMode(DeliveryMode.PERSISTENT);
>>>  }
>>>
>>>  private void startIteration() throws Exception {
>>>    for (int i = 0; i < numberOfMessages; i++) {
>>>      LOG.info("Creating message " + i);
>>>      TextMessage message = session.createTextMessage("Message #" +  
>>> i);
>>>      LOG.info("Sending message " + i);
>>>      producer.send(message);
>>>      session.commit();
>>>      producedCount++;
>>>      LOG.info("Produced " + producedCount + " messages.");
>>>    }
>>>  }
>>>
>>> ---------------
>>> Processor.java
>>>
>>>  private void initializeBrokerConnection() throws JMSException {
>>>    LOG.info("Connecting to " + brokerUrl);
>>>    ActiveMQConnectionFactory connectionFactory =
>>>      new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
>>> ActiveMQConnection.DEFAULT_PASSWORD, brokerUrl);
>>>    sourceConnection = connectionFactory.createQueueConnection();
>>>    destinationConnection = connectionFactory.createQueueConnection();
>>>    sourceConnection.start();
>>>    destinationConnection.start();
>>>    sourceSession = sourceConnection.createQueueSession(true,
>>> Session.CLIENT_ACKNOWLEDGE);
>>>    destinationSession =  
>>> destinationConnection.createQueueSession(true,
>>> Session.CLIENT_ACKNOWLEDGE);
>>>    source = sourceSession.createQueue("queue1");
>>>    consumer = sourceSession.createConsumer(source);
>>>    destination = destinationSession.createQueue("queue2");
>>>    producer = destinationSession.createProducer(destination);
>>>    producer.setDeliveryMode(DeliveryMode.PERSISTENT);
>>>  }
>>>
>>>  public void onMessage(Message message) {
>>>    if (message instanceof TextMessage) {
>>>      try {
>>>        String id = ((TextMessage) message).getText();
>>>        LOG.info("Processing id = " + id);
>>>        MapMessage map = destinationSession.createMapMessage();
>>>        map.setString("id", id);
>>>        map.setString("text", messageText);
>>>        LOG.info("Send message");
>>>        producer.send(map);
>>>        LOG.info("Acknowledge message");
>>>        message.acknowledge();
>>>        LOG.info("Commit source");
>>>        sourceSession.commit();
>>>        LOG.info("Commit destination");
>>>        destinationSession.commit();
>>>        producedCount++;
>>>        LOG.info("Produced " + producedCount + " messages.");
>>>      } catch (Exception ex) {
>>>        LOG.error("Error during processing", ex);
>>>      }
>>>
>>>    }
>>>  }
>>>
>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/High-message-frequency-causes-ActiveMQ-to-freeze-tp14919292s2354p14947393.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/High-message-frequency-causes-ActiveMQ-to-freeze-tp14919292s2354p14949117.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message