Changes between Version 4 and Version 5 of ConfiguringActiveMQ


Ignore:
Timestamp:
12/14/10 15:22:33 (9 years ago)
Author:
masc01
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ConfiguringActiveMQ

    v4 v5  
    4242== Configuring ActiveMQ == 
    4343 
    44 All communication in the SEMAINE API passes via ActiveMQ. Since SEMAINE is a real-time system, it is essential to carefully configure ActiveMQ. For the embedded case, there is an ActiveMQ configuration file included in the java classpath: [source:tags/3.1.0/java/src/eu/semaine/jms/activemq.xml]. We also provide a reference config file to use (or start from) when running an external ActiveMQ server, in [source:tags/3.1.0/docs/activemq.xml]. 
     44All communication in the SEMAINE API passes via ActiveMQ. Since SEMAINE is a real-time system, it is essential to carefully configure ActiveMQ. For the embedded case, there is an ActiveMQ configuration file included in the java classpath: [source:tags/3.1.0/java/src/eu/semaine/jms/activemq.xml]. We also provide a reference config file to use (or start from) when running an external ActiveMQ server, in [source:tags/3.1.0/doc/activemq.xml] (tested with ActiveMQ 5.4.1 and 5.3.0). 
     45 
     46The key problem to be aware of is [http://activemq.apache.org/producer-flow-control.html producer flow control]. When a producer is too fast for one of the consumers, the default behaviour of ActiveMQ is to block the producer in the send method until there is enough free space for the slow consumer to receive additional messages. In practice, that looks as if the system had locked up. To avoid this, we configure `constantPendingMessageLimitStrategy` to keep only the 1000 newest messages for each consumer and to discard the rest. 
    4547 
    4648 
    4749 
    48