The servers participating in a network of brokers must have a networkConnections element in their activemq.xml. Do note that the elements within the <broker> elements *must* appear alphabetically - otherwise the server will fail without notice!
This is the configuation file for instance1 on sandkasse-01:
Code Block |
---|
Wiki Markup |
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="\[http://www.springframework.org/schema/beans\|http://www.springframework.org/schema/beans\]" xmlns:amq="\[http://activemq.apache.org/schema/core\|http://activemq.apache.org/schema/core\]" xmlns:xsi="\[http://www.w3.org/2001/XMLSchema-instance\|http://www.w3.org/2001/XMLSchema-instance\]" xsi:schemaLocation="\[http://www.springframework.org/schema/beans\|http://www.springframework.org/schema/beans\] \[http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\|http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\] \[http://activemq.apache.org/schema/core\|http://activemq.apache.org/schema/core\] \[http://activemq.apache.org/schema/core/activemq-core.xsd\|http://activemq.apache.org/schema/core/activemq-core.xsd\]"> <\!-\\- Allows us to use system properties as variables in this configuration file \--> <bean> <property name="locations"> <value>file:${activemq.base}/conf/credentials.properties</value> </property> </bean> <\!-\\- The <broker> element is used to configure the ActiveMQ broker. \--> <broker xmlns="\[http://activemq.apache.org/schema/core\|http://activemq.apache.org/schema/core\]" brokerName="instance1" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true"> <\!-\\- For better performances use VM cursor and small memory limit. For more information, see: \[http://activemq.apache.org/message-cursors.html\|http://activemq.apache.org/message-cursors.html\] Also, if your producer is "hanging", it's probably due to producer flow control. 's probably due to producer flow control. For more information, see: \[http://activemq.apache.org/producer-flow-control.html\|http://activemq.apache.org/producer-flow-control.html\] \--> <destinationPolicy> <policyMap> <policyEntries> <policyEntry memoryLimit="1mb" producerFlowControl="true" topic=">"> <pendingSubscriberPolicy> <vmCursor/> </pendingSubscriberPolicy> </policyEntry> <policyEntry memoryLimit="1mb" producerFlowControl="true" queue=">"> <\!-\\- Use VM cursor for better latency For more information, see: \[http://activemq.apache.org/message-cursors.html\|http://activemq.apache.org/message-cursors.html\] <pendingQueuePolicy> <vmQueueCursor/> </pendingQueuePolicy> \--> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> <\!-\\- The managementContext is used to configure how ActiveMQ is exposed in JMX. By default, ActiveMQ uses the MBean server that is started by the JVM. For more information, see: \[http://activemq.apache.org/jmx.html\|http://activemq.apache.org/jmx.html\] \--> <managementContext> <managementContext createConnector="false"/> </managementContext> {color:#800000} <\!-\-{color} {color:#800000} Added by csv 20110530:{color} {color:#800000} The network connectors enumerate other brokers participating in{color} {color:#800000} a network of brokers{color} {color:#800000} {color} \[http://activemq.apache.org/networks-of-brokers.html\|http://activemq.apache.org/networks-of-brokers.html\] {color:#800000} \-->{color} {color:#800000} <networkConnectors>{color} {color:#800000} <networkConnector name="instance2" uri="static:(tcp://localhost:60002)"/>{color} {color:#800000} <networkConnector name="instance3" uri="static:(tcp://localhost:60003)"/>{color} {color:#800000} </networkConnectors>{color} <\!-\\- Configure message persistence for the broker. The default persistence mechanism is the KahaDB store (identified by the kahaDB tag). For more information, see: \[http://activemq.apache.org/persistence.html\|http://activemq.apache.org/persistence.html\] \--> <persistenceAdapter> <kahaDB directory="${activemq.base}/data/kahadb"/> </persistenceAdapter> <\!-\\- The systemUsage controls the maximum amount of space the broker will use before slowing down producers. For more information, see: \[http://activemq.apache.org/producer-flow-control.html\|http://activemq.apache.org/producer-flow-control.html\] <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="20 mb"/> </memoryUsage> <storeUsage> <storeUsage limit="1 gb"/> </storeUsage> <tempUsage> <tempUsage limit="100 mb"/> </tempUsage> </systemUsage> </systemUsage> \--> <\!-\\- The transport connectors expose ActiveMQ over a given protocol to clients and other brokers. For more information, see: \[http://activemq.apache.org/configuring-transports.html\|http://activemq.apache.org/configuring-transports.html\] \--> <transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0.0:60001"/> </transportConnectors> </broker> <\!-\\- Enable web consoles, REST and Ajax APIs and demos It also includes Camel (with its web console), see ${ACTIVEMQ_HOME}/conf/camel.xml for more info Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details \--> <import resource="jetty.xml"/> </beans> \\ |