http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/artemis-server/src/test/resources/InvalidConfigurationTest3.xml ---------------------------------------------------------------------- diff --git a/artemis-server/src/test/resources/InvalidConfigurationTest3.xml b/artemis-server/src/test/resources/InvalidConfigurationTest3.xml index 49f6d44..000211a 100644 --- a/artemis-server/src/test/resources/InvalidConfigurationTest3.xml +++ b/artemis-server/src/test/resources/InvalidConfigurationTest3.xml @@ -15,9 +15,9 @@ limitations under the License. --> <configuration - xmlns="urn:activemq" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="urn:activemq ../../src/config/common/schema/artemis-server.xsd"> + xmlns="urn:activemq" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="urn:activemq ../../src/config/common/schema/artemis-server.xsd"> <core xmlns="urn:activemq:core"> <name>SomeNameForUseOnTheApplicationServer</name> <scheduled-thread-pool-max-size>12345</scheduled-thread-pool-max-size> @@ -80,13 +80,13 @@ </acceptors> <broadcast-groups> - <broadcast-group name="bg1"> - <local-bind-port>10999</local-bind-port> - <group-address>192.168.0.120</group-address> - <group-port>11999</group-port> + <broadcast-group name="bg1"> + <local-bind-port>10999</local-bind-port> + <group-address>192.168.0.120</group-address> + <group-port>11999</group-port> <broadcast-period>12345</broadcast-period> <connector-ref>connector1</connector-ref> - </broadcast-group> + </broadcast-group> <broadcast-group name="bg2"> <local-bind-port>12999</local-bind-port> <group-address>192.168.0.121</group-address> @@ -131,102 +131,102 @@ <queues> <queue name="queue1"> <address>address1</address> - <filter string="color='red'" /> + <filter string="color='red'"/> <durable>false</durable> </queue> <queue name="queue2"> <address>address2</address> - <filter string="color='blue'" /> + <filter string="color='blue'"/> <durable>false</durable> </queue> </queues> <bridges> <bridge name="bridge1"> - <queue-name>queue1</queue-name> - <forwarding-address>bridge-forwarding-address1</forwarding-address> - <filter string="sku > 1"/> - <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name> - <min-large-message-size>4</min-large-message-size> - <check-period>31</check-period> - <connection-ttl>370</connection-ttl> - <retry-interval>3</retry-interval> - <retry-interval-multiplier>0.2</retry-interval-multiplier> - <max-retry-interval>10002</max-retry-interval> - <reconnect-attempts>2</reconnect-attempts> - <failover-on-server-shutdown>false</failover-on-server-shutdown> - <use-duplicate-detection>true</use-duplicate-detection> - <static-connectors> + <queue-name>queue1</queue-name> + <forwarding-address>bridge-forwarding-address1</forwarding-address> + <filter string="sku > 1"/> + <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name> + <min-large-message-size>4</min-large-message-size> + <check-period>31</check-period> + <connection-ttl>370</connection-ttl> + <retry-interval>3</retry-interval> + <retry-interval-multiplier>0.2</retry-interval-multiplier> + <max-retry-interval>10002</max-retry-interval> + <reconnect-attempts>2</reconnect-attempts> + <failover-on-server-shutdown>false</failover-on-server-shutdown> + <use-duplicate-detection>true</use-duplicate-detection> + <static-connectors> <connector-ref>connector1</connector-ref> - </static-connectors> + </static-connectors> </bridge> <bridge name="bridge2"> - <queue-name>queue2</queue-name> - <forwarding-address>bridge-forwarding-address2</forwarding-address> - <discovery-group-ref discovery-group-name="dg1"/> + <queue-name>queue2</queue-name> + <forwarding-address>bridge-forwarding-address2</forwarding-address> + <discovery-group-ref discovery-group-name="dg1"/> </bridge> </bridges> <cluster-connections> <cluster-connection name="cluster-connection1"> - <address>queues1</address> - <connector-ref>connector1</connector-ref> - <check-period>331</check-period> - <connection-ttl>3370</connection-ttl> - <min-large-message-size>321</min-large-message-size> - <call-timeout>123</call-timeout> - <retry-interval>3</retry-interval> - <retry-interval-multiplier>0.25</retry-interval-multiplier> - <max-retry-interval>10000</max-retry-interval> - <reconnect-attempts>72</reconnect-attempts> - <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>false</forward-when-no-consumers> - <max-hops>1</max-hops> - <call-failover-timeout>123</call-failover-timeout> - <static-connectors> + <address>queues1</address> <connector-ref>connector1</connector-ref> - <connector-ref>connector2</connector-ref> - </static-connectors> + <check-period>331</check-period> + <connection-ttl>3370</connection-ttl> + <min-large-message-size>321</min-large-message-size> + <call-timeout>123</call-timeout> + <retry-interval>3</retry-interval> + <retry-interval-multiplier>0.25</retry-interval-multiplier> + <max-retry-interval>10000</max-retry-interval> + <reconnect-attempts>72</reconnect-attempts> + <use-duplicate-detection>true</use-duplicate-detection> + <message-load-balancing>ON_DEMAND</message-load-balancing> + <max-hops>1</max-hops> + <call-failover-timeout>123</call-failover-timeout> + <static-connectors> + <connector-ref>connector1</connector-ref> + <connector-ref>connector2</connector-ref> + </static-connectors> </cluster-connection> <cluster-connection name="cluster-connection2"> - <address>queues2</address> - <connector-ref>connector2</connector-ref> - <call-timeout>456</call-timeout> - <retry-interval>4</retry-interval> - <use-duplicate-detection>false</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> - <max-hops>2</max-hops> - <call-failover-timeout>456</call-failover-timeout> - <discovery-group-ref discovery-group-name="dg1"/> + <address>queues2</address> + <connector-ref>connector2</connector-ref> + <call-timeout>456</call-timeout> + <retry-interval>4</retry-interval> + <use-duplicate-detection>false</use-duplicate-detection> + <message-load-balancing>STRICT</message-load-balancing> + <max-hops>2</max-hops> + <call-failover-timeout>456</call-failover-timeout> + <discovery-group-ref discovery-group-name="dg1"/> </cluster-connection> </cluster-connections> - <security-settings> - <security-setting match="a1"> - <permission type="createNonDurableQueue" roles="a1.1"/> - </security-setting> - <security-setting match="a2"> - <permission type="deleteNonDurableQueue" roles="a2.1"/> - </security-setting> - </security-settings> + <security-settings> + <security-setting match="a1"> + <permission type="createNonDurableQueue" roles="a1.1"/> + </security-setting> + <security-setting match="a2"> + <permission type="deleteNonDurableQueue" roles="a2.1"/> + </security-setting> + </security-settings> - <address-settings> - <address-setting match="a1"> - <dead-letter-address>a1.1</dead-letter-address> - <expiry-address>a1.2</expiry-address> - <redelivery-delay>1</redelivery-delay> - <max-size-bytes>81781728121878</max-size-bytes> - <page-size-bytes>81738173872337</page-size-bytes> - <page-max-cache-size>10</page-max-cache-size> - <message-counter-history-day-limit>4</message-counter-history-day-limit> - </address-setting> - <address-setting match="a2"> - <dead-letter-address>a2.1</dead-letter-address> - <expiry-address>a2.2</expiry-address> - <redelivery-delay>5</redelivery-delay> - <max-size-bytes>932489234928324</max-size-bytes> - <page-size-bytes>7126716262626</page-size-bytes> - <page-max-cache-size>20</page-max-cache-size> - <message-counter-history-day-limit>8</message-counter-history-day-limit> - </address-setting> - </address-settings> + <address-settings> + <address-setting match="a1"> + <dead-letter-address>a1.1</dead-letter-address> + <expiry-address>a1.2</expiry-address> + <redelivery-delay>1</redelivery-delay> + <max-size-bytes>81781728121878</max-size-bytes> + <page-size-bytes>81738173872337</page-size-bytes> + <page-max-cache-size>10</page-max-cache-size> + <message-counter-history-day-limit>4</message-counter-history-day-limit> + </address-setting> + <address-setting match="a2"> + <dead-letter-address>a2.1</dead-letter-address> + <expiry-address>a2.2</expiry-address> + <redelivery-delay>5</redelivery-delay> + <max-size-bytes>932489234928324</max-size-bytes> + <page-size-bytes>7126716262626</page-size-bytes> + <page-max-cache-size>20</page-max-cache-size> + <message-counter-history-day-limit>8</message-counter-history-day-limit> + </address-setting> + </address-settings> </core> </configuration>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/artemis-server/src/test/resources/InvalidConfigurationTest4.xml ---------------------------------------------------------------------- diff --git a/artemis-server/src/test/resources/InvalidConfigurationTest4.xml b/artemis-server/src/test/resources/InvalidConfigurationTest4.xml index 032fd7e..b50ebb2 100644 --- a/artemis-server/src/test/resources/InvalidConfigurationTest4.xml +++ b/artemis-server/src/test/resources/InvalidConfigurationTest4.xml @@ -15,9 +15,9 @@ limitations under the License. --> <configuration - xmlns="urn:activemq" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="urn:activemq ../../src/config/common/schema/artemis-server.xsd"> + xmlns="urn:activemq" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="urn:activemq ../../src/config/common/schema/artemis-server.xsd"> <core xmlns="urn:activemq:core"> <name>SomeNameForUseOnTheApplicationServer</name> <scheduled-thread-pool-max-size>12345</scheduled-thread-pool-max-size> @@ -76,17 +76,17 @@ </connectors> <acceptors> <acceptor name="acceptor1">tcp://localhost:61616</acceptor> - <acceptor name="acceptor2">vm://0</acceptor> + <acceptor name="acceptor2">vm://0</acceptor> </acceptors> <broadcast-groups> - <broadcast-group name="bg1"> - <local-bind-port>10999</local-bind-port> - <group-address>192.168.0.120</group-address> - <group-port>11999</group-port> + <broadcast-group name="bg1"> + <local-bind-port>10999</local-bind-port> + <group-address>192.168.0.120</group-address> + <group-port>11999</group-port> <broadcast-period>12345</broadcast-period> <connector-ref>connector1</connector-ref> - </broadcast-group> + </broadcast-group> <broadcast-group name="bg2"> <local-bind-port>12999</local-bind-port> <group-address>192.168.0.121</group-address> @@ -130,101 +130,101 @@ <queues> <queue name="queue1"> <address>address1</address> - <filter string="color='red'" /> + <filter string="color='red'"/> <durable>false</durable> </queue> <queue name="queue2"> <address>address2</address> - <filter string="color='blue'" /> + <filter string="color='blue'"/> <durable>false</durable> </queue> </queues> <bridges> <bridge name="bridge1"> - <queue-name>queue1</queue-name> - <forwarding-address>bridge-forwarding-address1</forwarding-address> - <filter string="sku > 1"/> - <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name> - <min-large-message-size>4</min-large-message-size> - <check-period>31</check-period> - <connection-ttl>370</connection-ttl> - <retry-interval>3</retry-interval> - <retry-interval-multiplier>0.2</retry-interval-multiplier> - <max-retry-interval>10002</max-retry-interval> - <reconnect-attempts>2</reconnect-attempts> - <failover-on-server-shutdown>false</failover-on-server-shutdown> - <use-duplicate-detection>true</use-duplicate-detection> - <static-connectors> + <queue-name>queue1</queue-name> + <forwarding-address>bridge-forwarding-address1</forwarding-address> + <filter string="sku > 1"/> + <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name> + <min-large-message-size>4</min-large-message-size> + <check-period>31</check-period> + <connection-ttl>370</connection-ttl> + <retry-interval>3</retry-interval> + <retry-interval-multiplier>0.2</retry-interval-multiplier> + <max-retry-interval>10002</max-retry-interval> + <reconnect-attempts>2</reconnect-attempts> + <failover-on-server-shutdown>false</failover-on-server-shutdown> + <use-duplicate-detection>true</use-duplicate-detection> + <static-connectors> <connector-ref>connector1</connector-ref> - </static-connectors> + </static-connectors> </bridge> <bridge name="bridge2"> - <queue-name>queue2</queue-name> - <forwarding-address>bridge-forwarding-address2</forwarding-address> - <discovery-group-ref discovery-group-name="dg1"/> + <queue-name>queue2</queue-name> + <forwarding-address>bridge-forwarding-address2</forwarding-address> + <discovery-group-ref discovery-group-name="dg1"/> </bridge> </bridges> <cluster-connections> <cluster-connection name="cluster-connection1"> - <connector-ref>connector1</connector-ref> - <check-period>331</check-period> - <connection-ttl>3370</connection-ttl> - <min-large-message-size>321</min-large-message-size> - <call-timeout>123</call-timeout> - <retry-interval>3</retry-interval> - <retry-interval-multiplier>0.25</retry-interval-multiplier> - <max-retry-interval>10000</max-retry-interval> - <reconnect-attempts>72</reconnect-attempts> - <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>false</forward-when-no-consumers> - <max-hops>1</max-hops> - <call-failover-timeout>123</call-failover-timeout> - <static-connectors> <connector-ref>connector1</connector-ref> - <connector-ref>connector2</connector-ref> - </static-connectors> + <check-period>331</check-period> + <connection-ttl>3370</connection-ttl> + <min-large-message-size>321</min-large-message-size> + <call-timeout>123</call-timeout> + <retry-interval>3</retry-interval> + <retry-interval-multiplier>0.25</retry-interval-multiplier> + <max-retry-interval>10000</max-retry-interval> + <reconnect-attempts>72</reconnect-attempts> + <use-duplicate-detection>true</use-duplicate-detection> + <message-load-balancing>ON_DEMAND</message-load-balancing> + <max-hops>1</max-hops> + <call-failover-timeout>123</call-failover-timeout> + <static-connectors> + <connector-ref>connector1</connector-ref> + <connector-ref>connector2</connector-ref> + </static-connectors> </cluster-connection> <cluster-connection name="cluster-connection2"> - <address>queues2</address> - <connector-ref>connector2</connector-ref> - <call-timeout>456</call-timeout> - <retry-interval>4</retry-interval> - <use-duplicate-detection>false</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> - <max-hops>2</max-hops> - <call-failover-timeout>456</call-failover-timeout> - <discovery-group-ref discovery-group-name="dg1"/> + <address>queues2</address> + <connector-ref>connector2</connector-ref> + <call-timeout>456</call-timeout> + <retry-interval>4</retry-interval> + <use-duplicate-detection>false</use-duplicate-detection> + <message-load-balancing>STRICT</message-load-balancing> + <max-hops>2</max-hops> + <call-failover-timeout>456</call-failover-timeout> + <discovery-group-ref discovery-group-name="dg1"/> </cluster-connection> </cluster-connections> - <security-settings> - <security-setting match="a1"> - <permission type="createNonDurableQueue" roles="a1.1"/> - </security-setting> - <security-setting match="a2"> - <permission type="deleteNonDurableQueue" roles="a2.1"/> - </security-setting> - </security-settings> + <security-settings> + <security-setting match="a1"> + <permission type="createNonDurableQueue" roles="a1.1"/> + </security-setting> + <security-setting match="a2"> + <permission type="deleteNonDurableQueue" roles="a2.1"/> + </security-setting> + </security-settings> - <address-settings> - <address-setting match="a1"> - <dead-letter-address>a1.1</dead-letter-address> - <expiry-address>a1.2</expiry-address> - <redelivery-delay>1</redelivery-delay> - <max-size-bytes>81781728121878</max-size-bytes> - <page-size-bytes>81738173872337</page-size-bytes> - <page-max-cache-size>10</page-max-cache-size> - <message-counter-history-day-limit>4</message-counter-history-day-limit> - </address-setting> - <address-setting match="a2"> - <dead-letter-address>a2.1</dead-letter-address> - <expiry-address>a2.2</expiry-address> - <redelivery-delay>5</redelivery-delay> - <max-size-bytes>932489234928324</max-size-bytes> - <page-size-bytes>7126716262626</page-size-bytes> - <page-max-cache-size>20</page-max-cache-size> - <message-counter-history-day-limit>8</message-counter-history-day-limit> - </address-setting> - </address-settings> + <address-settings> + <address-setting match="a1"> + <dead-letter-address>a1.1</dead-letter-address> + <expiry-address>a1.2</expiry-address> + <redelivery-delay>1</redelivery-delay> + <max-size-bytes>81781728121878</max-size-bytes> + <page-size-bytes>81738173872337</page-size-bytes> + <page-max-cache-size>10</page-max-cache-size> + <message-counter-history-day-limit>4</message-counter-history-day-limit> + </address-setting> + <address-setting match="a2"> + <dead-letter-address>a2.1</dead-letter-address> + <expiry-address>a2.2</expiry-address> + <redelivery-delay>5</redelivery-delay> + <max-size-bytes>932489234928324</max-size-bytes> + <page-size-bytes>7126716262626</page-size-bytes> + <page-max-cache-size>20</page-max-cache-size> + <message-counter-history-day-limit>8</message-counter-history-day-limit> + </address-setting> + </address-settings> </core> </configuration> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/artemis-server/src/test/resources/InvalidConfigurationTest5.xml ---------------------------------------------------------------------- diff --git a/artemis-server/src/test/resources/InvalidConfigurationTest5.xml b/artemis-server/src/test/resources/InvalidConfigurationTest5.xml index 3d32ac4..88590b1 100644 --- a/artemis-server/src/test/resources/InvalidConfigurationTest5.xml +++ b/artemis-server/src/test/resources/InvalidConfigurationTest5.xml @@ -15,9 +15,9 @@ limitations under the License. --> <configuration - xmlns="urn:activemq" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="urn:activemq ../../src/config/common/schema/artemis-server.xsd"> + xmlns="urn:activemq" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="urn:activemq ../../src/config/common/schema/artemis-server.xsd"> <core xmlns="urn:activemq:core"> <name>SomeNameForUseOnTheApplicationServer</name> <scheduled-thread-pool-max-size>12345</scheduled-thread-pool-max-size> @@ -76,17 +76,17 @@ </connectors> <acceptors> <acceptor name="acceptor1">tcp://localhost:61616</acceptor> - <acceptor name="acceptor2">vm://0</acceptor> + <acceptor name="acceptor2">vm://0</acceptor> </acceptors> <broadcast-groups> - <broadcast-group name="bg1"> - <local-bind-port>10999</local-bind-port> - <group-address>192.168.0.120</group-address> - <group-port>11999</group-port> + <broadcast-group name="bg1"> + <local-bind-port>10999</local-bind-port> + <group-address>192.168.0.120</group-address> + <group-port>11999</group-port> <broadcast-period>12345</broadcast-period> <connector-ref>connector1</connector-ref> - </broadcast-group> + </broadcast-group> <broadcast-group name="bg2"> <local-bind-port>12999</local-bind-port> <group-address>192.168.0.121</group-address> @@ -130,104 +130,104 @@ <queues> <queue name="queue1"> <address>address1</address> - <filter string="color='red'" /> + <filter string="color='red'"/> <durable>false</durable> </queue> <queue name="queue2"> <address>address2</address> - <filter string="color='blue'" /> + <filter string="color='blue'"/> <durable>false</durable> </queue> </queues> <bridges> <bridge name="bridge1"> - <queue-name>queue1</queue-name> - <forwarding-address>bridge-forwarding-address1</forwarding-address> - <filter string="sku > 1"/> - <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name> - <min-large-message-size>4</min-large-message-size> - <check-period>31</check-period> - <connection-ttl>370</connection-ttl> - <retry-interval>3</retry-interval> - <retry-interval-multiplier>0.2</retry-interval-multiplier> - <max-retry-interval>10002</max-retry-interval> - <reconnect-attempts>2</reconnect-attempts> - <reconnect-attempts>2</reconnect-attempts> - <reconnect-attempts>2</reconnect-attempts> - <failover-on-server-shutdown>false</failover-on-server-shutdown> - <use-duplicate-detection>true</use-duplicate-detection> - <static-connectors> + <queue-name>queue1</queue-name> + <forwarding-address>bridge-forwarding-address1</forwarding-address> + <filter string="sku > 1"/> + <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name> + <min-large-message-size>4</min-large-message-size> + <check-period>31</check-period> + <connection-ttl>370</connection-ttl> + <retry-interval>3</retry-interval> + <retry-interval-multiplier>0.2</retry-interval-multiplier> + <max-retry-interval>10002</max-retry-interval> + <reconnect-attempts>2</reconnect-attempts> + <reconnect-attempts>2</reconnect-attempts> + <reconnect-attempts>2</reconnect-attempts> + <failover-on-server-shutdown>false</failover-on-server-shutdown> + <use-duplicate-detection>true</use-duplicate-detection> + <static-connectors> <connector-ref>connector1</connector-ref> - </static-connectors> + </static-connectors> </bridge> <bridge name="bridge2"> - <queue-name>queue2</queue-name> - <forwarding-address>bridge-forwarding-address2</forwarding-address> - <discovery-group-ref discovery-group-name="dg1"/> + <queue-name>queue2</queue-name> + <forwarding-address>bridge-forwarding-address2</forwarding-address> + <discovery-group-ref discovery-group-name="dg1"/> </bridge> </bridges> <cluster-connections> <cluster-connection name="cluster-connection1"> - <address>queues1</address> - <connector-ref>connector1</connector-ref> - <check-period>331</check-period> - <connection-ttl>3370</connection-ttl> - <min-large-message-size>321</min-large-message-size> - <call-timeout>123</call-timeout> - <retry-interval>3</retry-interval> - <retry-interval-multiplier>0.25</retry-interval-multiplier> - <max-retry-interval>10000</max-retry-interval> - <reconnect-attempts>72</reconnect-attempts> - <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>false</forward-when-no-consumers> - <max-hops>1</max-hops> - <call-failover-timeout>123</call-failover-timeout> - <static-connectors> + <address>queues1</address> <connector-ref>connector1</connector-ref> - <connector-ref>connector2</connector-ref> - </static-connectors> + <check-period>331</check-period> + <connection-ttl>3370</connection-ttl> + <min-large-message-size>321</min-large-message-size> + <call-timeout>123</call-timeout> + <retry-interval>3</retry-interval> + <retry-interval-multiplier>0.25</retry-interval-multiplier> + <max-retry-interval>10000</max-retry-interval> + <reconnect-attempts>72</reconnect-attempts> + <use-duplicate-detection>true</use-duplicate-detection> + <message-load-balancing>ON_DEMAND</message-load-balancing> + <max-hops>1</max-hops> + <call-failover-timeout>123</call-failover-timeout> + <static-connectors> + <connector-ref>connector1</connector-ref> + <connector-ref>connector2</connector-ref> + </static-connectors> </cluster-connection> <cluster-connection name="cluster-connection2"> - <address>queues2</address> - <connector-ref>connector2</connector-ref> - <call-timeout>456</call-timeout> - <retry-interval>4</retry-interval> - <use-duplicate-detection>false</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> - <max-hops>2</max-hops> - <call-failover-timeout>456</call-failover-timeout> - <discovery-group-ref discovery-group-name="dg1"/> + <address>queues2</address> + <connector-ref>connector2</connector-ref> + <call-timeout>456</call-timeout> + <retry-interval>4</retry-interval> + <use-duplicate-detection>false</use-duplicate-detection> + <message-load-balancing>STRICT</message-load-balancing> + <max-hops>2</max-hops> + <call-failover-timeout>456</call-failover-timeout> + <discovery-group-ref discovery-group-name="dg1"/> </cluster-connection> </cluster-connections> - <security-settings> - <security-setting match="a1"> - <permission type="createNonDurableQueue" roles="a1.1"/> - </security-setting> - <security-setting match="a2"> - <permission type="deleteNonDurableQueue" roles="a2.1"/> - </security-setting> - </security-settings> + <security-settings> + <security-setting match="a1"> + <permission type="createNonDurableQueue" roles="a1.1"/> + </security-setting> + <security-setting match="a2"> + <permission type="deleteNonDurableQueue" roles="a2.1"/> + </security-setting> + </security-settings> - <address-settings> - <address-setting match="a1"> - <dead-letter-address>a1.1</dead-letter-address> - <expiry-address>a1.2</expiry-address> - <redelivery-delay>1</redelivery-delay> - <max-size-bytes>81781728121878</max-size-bytes> - <page-size-bytes>81738173872337</page-size-bytes> - <page-max-cache-size>10</page-max-cache-size> - <message-counter-history-day-limit>4</message-counter-history-day-limit> - </address-setting> - <address-setting match="a2"> - <dead-letter-address>a2.1</dead-letter-address> - <expiry-address>a2.2</expiry-address> - <redelivery-delay>5</redelivery-delay> - <max-size-bytes>932489234928324</max-size-bytes> - <page-size-bytes>7126716262626</page-size-bytes> - <page-max-cache-size>20</page-max-cache-size> - <message-counter-history-day-limit>8</message-counter-history-day-limit> - </address-setting> - </address-settings> + <address-settings> + <address-setting match="a1"> + <dead-letter-address>a1.1</dead-letter-address> + <expiry-address>a1.2</expiry-address> + <redelivery-delay>1</redelivery-delay> + <max-size-bytes>81781728121878</max-size-bytes> + <page-size-bytes>81738173872337</page-size-bytes> + <page-max-cache-size>10</page-max-cache-size> + <message-counter-history-day-limit>4</message-counter-history-day-limit> + </address-setting> + <address-setting match="a2"> + <dead-letter-address>a2.1</dead-letter-address> + <expiry-address>a2.2</expiry-address> + <redelivery-delay>5</redelivery-delay> + <max-size-bytes>932489234928324</max-size-bytes> + <page-size-bytes>7126716262626</page-size-bytes> + <page-max-cache-size>20</page-max-cache-size> + <message-counter-history-day-limit>8</message-counter-history-day-limit> + </address-setting> + </address-settings> </core> </configuration> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/docs/user-manual/en/clusters.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/clusters.md b/docs/user-manual/en/clusters.md index c2dbeb3..1998ec2 100644 --- a/docs/user-manual/en/clusters.md +++ b/docs/user-manual/en/clusters.md @@ -568,7 +568,7 @@ server. <initial-connect-attempts>-1</initial-connect-attempts> <reconnect-attempts>-1</reconnect-attempts> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>false</forward-when-no-consumers> + <message-load-balancing>ON_DEMAND</message-load-balancing> <max-hops>1</max-hops> <confirmation-window-size>32000</confirmation-window-size> <call-failover-timeout>30000</call-failover-timeout> @@ -695,26 +695,32 @@ specified. The following shows all the available configuration options a bridge. For more information on duplicate detection, please see [Duplicate Detection](duplicate-detection.md). Default is true. -- `forward-when-no-consumers`. This parameter determines whether - messages will be distributed round robin between other nodes of the - cluster *regardless* of whether or not there are matching or indeed - any consumers on other nodes. +- `message-load-balancing`. This parameter determines if/how + messages will be distributed between other nodes of the cluster. + It can be one of three values - `OFF`, `STRICT`, or `ON_DEMAND` + (default). This parameter replaces the deprecated + `forward-when-no-consumers` parameter. + + If this is set to `OFF` then messages will never be forwarded to + another node in the cluster - If this is set to `true` then each incoming message will be round + If this is set to `STRICT` then each incoming message will be round robin'd even though the same queues on the other nodes of the cluster may have no consumers at all, or they may have consumers that have non matching message filters (selectors). Note that - Apache ActiveMQ Artemis will *not* forward messages to other nodes if there are no - *queues* of the same name on the other nodes, even if this parameter - is set to `true`. + Apache ActiveMQ Artemis will *not* forward messages to other nodes + if there are no *queues* of the same name on the other nodes, even + if this parameter is set to `STRICT`. Using `STRICT` is like setting + the legacy `foward-when-no-consumers` parameter to `true`. - If this is set to `false` then Apache ActiveMQ Artemis will only forward messages - to other nodes of the cluster if the address to which they are being - forwarded has queues which have consumers, and if those consumers - have message filters (selectors) at least one of those selectors - must match the message. + If this is set to `ON_DEMAND` then Apache ActiveMQ Artemis will only + forward messages to other nodes of the cluster if the address to which + they are being forwarded has queues which have consumers, and if those + consumers have message filters (selectors) at least one of those + selectors must match the message. Using `ON_DEMAND` is like setting + the legacy `foward-when-no-consumers` parameter to `false`. - Default is false. + Default is `ON_DEMAND`. - `max-hops`. When a cluster connection decides the set of nodes to which it might load balance a message, those nodes do not have to be @@ -886,7 +892,7 @@ and is configured as follows: <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors allow-direct-connections-only="true"> <connector-ref>server1-connector</connector-ref> @@ -902,10 +908,10 @@ This means you can explicitly create any cluster topology you want. Another important part of clustering is message redistribution. Earlier we learned how server side message load balancing round robins messages -across the cluster. If `forward-when-no-consumers` is false, then -messages won't be forwarded to nodes which don't have matching -consumers, this is great and ensures that messages don't arrive on a -queue which has no consumers to consume them, however there is a +across the cluster. If `message-load-balancing` is `OFF` or `ON_DEMAND` +then messages won't be forwarded to nodes which don't have matching +consumers. This is great and ensures that messages aren't moved to a +queue which has no consumers to consume them. However, there is a situation it doesn't solve: What happens if the consumers on a queue close after the messages have been sent to the node? If there are no consumers on the queue the message won't get consumed and we have a @@ -914,7 +920,8 @@ consumers on the queue the message won't get consumed and we have a This is where message redistribution comes in. With message redistribution Apache ActiveMQ Artemis can be configured to automatically *redistribute* messages from queues which have no consumers back to -other nodes in the cluster which do have matching consumers. +other nodes in the cluster which do have matching consumers. To enable +this functionality `message-load-balancing` must be `ON_DEMAND`. Message redistribution can be configured to kick in immediately after the last consumer on a queue is closed, or to wait a configurable delay http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/docs/user-manual/en/configuration-index.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/configuration-index.md b/docs/user-manual/en/configuration-index.md index 61c01d7..72b4b37 100644 --- a/docs/user-manual/en/configuration-index.md +++ b/docs/user-manual/en/configuration-index.md @@ -163,7 +163,7 @@ Name | Description [max-retry-interval](clusters.md "Clusters") | Maximum value for retry-interval. Default=2000 [reconnect-attempts](clusters.md "Clusters") | How many attempts should be made to reconnect after failure. Default=-1 [use-duplicate-detection](clusters.md "Clusters") | should duplicate detection headers be inserted in forwarded messages?. Default=true -[forward-when-no-consumers](clusters.md "Clusters") | should messages be load balanced if there are no matching consumers on target? Default=false +[message-load-balancing](clusters.md "Clusters") | how should messages be load balanced? Default=OFF [max-hops](clusters.md "Clusters") | maximum number of hops cluster topology is propagated. Default=1 [confirmation-window-size](client-reconnection.md "Client Reconnection and Session Reattachment")| The size (in bytes) of the window used for confirming data from the server connected to. Default 1048576 [producer-window-size](clusters.md "Clusters") | Flow Control for the Cluster connection bridge. Default -1 (disabled) http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-durable-subscription/readme.html ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-durable-subscription/readme.html b/examples/jms/clustered-durable-subscription/readme.html index cd5dcce..440d281 100644 --- a/examples/jms/clustered-durable-subscription/readme.html +++ b/examples/jms/clustered-durable-subscription/readme.html @@ -33,32 +33,32 @@ under the License. on different nodes of the cluster, and consume from them simultaneously. This allows the work of processing messages from a durable subscription to be spread across the cluster in a similar way to how JMS Queues can be load balanced across the cluster - </p> - <p>In this example we first configure the two nodes to form a cluster, then we then create a durable subscriber + </p> + <p>In this example we first configure the two nodes to form a cluster, then we then create a durable subscriber with the same name and client-id on both nodes, and we create a producer on only one of the nodes.</p> <p>We then send some messages via the producer, and we verify that the messages are round robin'd between - the two subscription instances. Note that each durable subscription instance with the same name and client-id + the two subscription instances. Note that each durable subscription instance with the same name and client-id <b>does not</b> receive its own copy of the messages. This is because the instances on different nodes form a single "logical" durable subscription, in the same way multiple JMS Queue instances on different nodes - form a single "local" JMS Queue</p> + form a single "local" JMS Queue</p> <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use - JNDI, these could be instantiated directly. + JNDI, these could be instantiated directly. <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes - and to load balance the messages between the nodes.</p> + and to load balance the messages between the nodes.</p> <pre class="prettyprint"> <code><cluster-connection name="my-cluster"> <address>jms</address> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> </code> - </pre> + </pre> <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering - section of the user manual.</p> - + section of the user manual.</p> + <h2>Example step-by-step</h2> <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p> @@ -96,11 +96,11 @@ under the License. <pre class="prettyprint"> <code> connection0 = cf0.createConnection(); - final String clientID = "my-client-id"; + final String clientID = "my-client-id"; connection0.setClientID(clientID); </code> </pre> - + <li>We create a JMS Connection connection1 which is a connection to server 1 and set the same client-id.</li> <pre class="prettyprint"> @@ -116,7 +116,7 @@ under the License. Session session0 = connection0.createSession(false, Session.AUTO_ACKNOWLEDGE); </code> </pre> - + <li>We create a JMS Session on server 1</li> <pre class="prettyprint"> <code> @@ -139,7 +139,7 @@ under the License. <pre class="prettyprint"> <code> final String subscriptionName = "my-subscription"; - + MessageConsumer subscriber0 = session0.createDurableSubscriber(topic, subscriptionName); MessageConsumer subscriber1 = session1.createDurableSubscriber(topic, subscriptionName); @@ -160,14 +160,14 @@ under the License. for (int i = 0; i < numMessages; i++) { TextMessage message = session0.createTextMessage("This is text message " + i); - + producer.send(message); - + System.out.println("Sent message: " + message.getText()); } </code> </pre> - + <li> We now consume those messages on *both* server 0 and server 1. Note that the messages have been load-balanced between the two nodes, with some @@ -179,15 +179,15 @@ under the License. for (int i = 0; i < numMessages; i += 2) { TextMessage message0 = (TextMessage)consumer0.receive(5000); - + System.out.println("Got message: " + message0.getText() + " from node 0"); - + TextMessage message1 = (TextMessage)consumer1.receive(5000); - + System.out.println("Got message: " + message1.getText() + " from node 1"); } </code> - </pre> + </pre> <li>And finally (no pun intended), <b>always</b> remember to close your JMS resources after use, in a <code>finally</code> block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects</li> @@ -199,7 +199,7 @@ under the License. { connection0.close(); } - + if (connection1 != null) { connection1.close(); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml index e32c8cb..f9b0e67 100644 --- a/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml index b863f56..64f6d68 100644 --- a/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-grouping/readme.html ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-grouping/readme.html b/examples/jms/clustered-grouping/readme.html index 91aba99..1f5010c 100644 --- a/examples/jms/clustered-grouping/readme.html +++ b/examples/jms/clustered-grouping/readme.html @@ -39,7 +39,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> @@ -61,7 +61,7 @@ under the License. <address>jms</address> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> @@ -74,9 +74,9 @@ under the License. </grouping-handler> </code> </pre> - + <p>For more information on ActiveMQ Artemis clustering and grouping see the clustering and grouping - section of the user manual.</p> + section of the user manual.</p> <h2>Example step-by-step</h2> <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-grouping/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-grouping/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-grouping/src/main/resources/activemq/server0/broker.xml index 8c14b20..eb20ac8 100644 --- a/examples/jms/clustered-grouping/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-grouping/src/main/resources/activemq/server0/broker.xml @@ -73,7 +73,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-grouping/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-grouping/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-grouping/src/main/resources/activemq/server1/broker.xml index 06fefc6..c544203 100644 --- a/examples/jms/clustered-grouping/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-grouping/src/main/resources/activemq/server1/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-grouping/src/main/resources/activemq/server2/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-grouping/src/main/resources/activemq/server2/broker.xml b/examples/jms/clustered-grouping/src/main/resources/activemq/server2/broker.xml index 7ad49e4..d9f0c6e 100644 --- a/examples/jms/clustered-grouping/src/main/resources/activemq/server2/broker.xml +++ b/examples/jms/clustered-grouping/src/main/resources/activemq/server2/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-jgroups/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-jgroups/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-jgroups/src/main/resources/activemq/server0/broker.xml index 3edefd0..8eb8284 100644 --- a/examples/jms/clustered-jgroups/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-jgroups/src/main/resources/activemq/server0/broker.xml @@ -74,7 +74,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-jgroups/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-jgroups/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-jgroups/src/main/resources/activemq/server1/broker.xml index aacaecb..b72e119 100644 --- a/examples/jms/clustered-jgroups/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-jgroups/src/main/resources/activemq/server1/broker.xml @@ -73,7 +73,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-queue/readme.html ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-queue/readme.html b/examples/jms/clustered-queue/readme.html index be08324..60ebd89 100644 --- a/examples/jms/clustered-queue/readme.html +++ b/examples/jms/clustered-queue/readme.html @@ -33,23 +33,23 @@ under the License. in a round-robin fashion.</p> <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p> <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use - JNDI, these could be instantiated directly.</p> + JNDI, these could be instantiated directly.</p> <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes - and to load balance the messages between the nodes.</p> + and to load balance the messages between the nodes.</p> <pre class="prettyprint"> <code><cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> </code> - </pre> + </pre> <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering - section of the user manual.</p> + section of the user manual.</p> <h2>Example step-by-step</h2> <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p> @@ -88,7 +88,7 @@ under the License. connection0 = cf0.createConnection(); </code> </pre> - + <li>We create a JMS Connection connection1 which is a connection to server 1</li> <pre class="prettyprint"> <code> @@ -102,7 +102,7 @@ under the License. Session session0 = connection0.createSession(false, Session.AUTO_ACKNOWLEDGE); </code> </pre> - + <li>We create a JMS Session on server 1</li> <pre class="prettyprint"> <code> @@ -142,14 +142,14 @@ under the License. for (int i = 0; i < numMessages; i++) { TextMessage message = session0.createTextMessage("This is text message " + i); - + producer.send(message); - + System.out.println("Sent message: " + message.getText()); } </code> </pre> - + <li>We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. ActiveMQ Artemis has <b>load balanced</b> the messages between the available consumers on the different nodes. @@ -162,15 +162,15 @@ under the License. for (int i = 0; i < numMessages; i += 2) { TextMessage message0 = (TextMessage)consumer0.receive(5000); - + System.out.println("Got message: " + message0.getText() + " from node 0"); - + TextMessage message1 = (TextMessage)consumer1.receive(5000); - + System.out.println("Got message: " + message1.getText() + " from node 1"); } </code> - </pre> + </pre> <li>And finally (no pun intended), <b>always</b> remember to close your JMS resources after use, in a <code>finally</code> block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects</li> @@ -182,7 +182,7 @@ under the License. { connection0.close(); } - + if (connection1 != null) { connection1.close(); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-queue/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-queue/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-queue/src/main/resources/activemq/server0/broker.xml index ebdbd53..f038cfe 100644 --- a/examples/jms/clustered-queue/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-queue/src/main/resources/activemq/server0/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-queue/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-queue/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-queue/src/main/resources/activemq/server1/broker.xml index 7e6426d..531fed1 100644 --- a/examples/jms/clustered-queue/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-queue/src/main/resources/activemq/server1/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-standalone/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-standalone/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-standalone/src/main/resources/activemq/server0/broker.xml index f9db9bc..16f5002 100644 --- a/examples/jms/clustered-standalone/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-standalone/src/main/resources/activemq/server0/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-standalone/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-standalone/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-standalone/src/main/resources/activemq/server1/broker.xml index 6cb750e..33f9cf4 100644 --- a/examples/jms/clustered-standalone/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-standalone/src/main/resources/activemq/server1/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-standalone/src/main/resources/activemq/server2/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-standalone/src/main/resources/activemq/server2/broker.xml b/examples/jms/clustered-standalone/src/main/resources/activemq/server2/broker.xml index 6ea8a26..3275f28 100644 --- a/examples/jms/clustered-standalone/src/main/resources/activemq/server2/broker.xml +++ b/examples/jms/clustered-standalone/src/main/resources/activemq/server2/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-discovery/readme.html ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-discovery/readme.html b/examples/jms/clustered-static-discovery/readme.html index 863557a..71a4501 100644 --- a/examples/jms/clustered-static-discovery/readme.html +++ b/examples/jms/clustered-static-discovery/readme.html @@ -34,25 +34,25 @@ under the License. in a round-robin fashion.</p> <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p> <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use - JNDI, these could be instantiated directly.</p> + JNDI, these could be instantiated directly.</p> <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes - and to load balance the messages between the nodes.</p> + and to load balance the messages between the nodes.</p> <pre class="prettyprint"> <code><cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>server1-connector</connector-ref> </static-connectors> </cluster-connection> </code> - </pre> + </pre> <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering - section of the user manual.</p> + section of the user manual.</p> <h2>Example step-by-step</h2> <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p> @@ -91,7 +91,7 @@ under the License. connection0 = cf0.createConnection(); </code> </pre> - + <li>We create a JMS Connection connection1 which is a connection to server 1</li> <pre class="prettyprint"> <code> @@ -105,7 +105,7 @@ under the License. Session session0 = connection0.createSession(false, Session.AUTO_ACKNOWLEDGE); </code> </pre> - + <li>We create a JMS Session on server 1</li> <pre class="prettyprint"> <code> @@ -145,14 +145,14 @@ under the License. for (int i = 0; i < numMessages; i++) { TextMessage message = session0.createTextMessage("This is text message " + i); - + producer.send(message); - + System.out.println("Sent message: " + message.getText()); } </code> </pre> - + <li>We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. ActiveMQ Artemis has <b>load balanced</b> the messages between the available consumers on the different nodes. @@ -165,15 +165,15 @@ under the License. for (int i = 0; i < numMessages; i += 2) { TextMessage message0 = (TextMessage)consumer0.receive(5000); - + System.out.println("Got message: " + message0.getText() + " from node 0"); - + TextMessage message1 = (TextMessage)consumer1.receive(5000); - + System.out.println("Got message: " + message1.getText() + " from node 1"); } </code> - </pre> + </pre> <li>And finally (no pun intended), <b>always</b> remember to close your JMS resources after use, in a <code>finally</code> block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects</li> @@ -185,7 +185,7 @@ under the License. { connection0.close(); } - + if (connection1 != null) { connection1.close(); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml index a655fa1..e751729 100644 --- a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml @@ -57,7 +57,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>server1-connector</connector-ref> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml index 7925ff9..8e48890 100644 --- a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml @@ -57,7 +57,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>server0-connector</connector-ref> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml index 0888816..9321799 100644 --- a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml +++ b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml @@ -54,7 +54,7 @@ <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>server0-connector</connector-ref> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml index 60fb6ce..c8879a4 100644 --- a/examples/jms/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml +++ b/examples/jms/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml @@ -54,7 +54,7 @@ <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>server0-connector</connector-ref> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-oneway/readme.html ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-oneway/readme.html b/examples/jms/clustered-static-oneway/readme.html index 0941492..4aacbbd 100644 --- a/examples/jms/clustered-static-oneway/readme.html +++ b/examples/jms/clustered-static-oneway/readme.html @@ -36,7 +36,7 @@ under the License. in a round-robin fashion.</p> <p>In other words, ActiveMQ Artemis <b>load balances</b> the sent messages across all consumers on the cluster</p> <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use - JNDI, these could be instantiated directly.</p> + JNDI, these could be instantiated directly.</p> <p>Here's the relevant snippet from the server configuration, which tells the server to form a one way cluster between the three nodes and to load balance the messages between the nodes. Note that we have set <em>allow-direct-connections-only</em> to true, this means that this server will only ever connect the address's specified in the list of connectors. ALso notice @@ -49,16 +49,16 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>2</max-hops> <static-connectors allow-direct-connections-only="true"> <connector-ref>server1-connector</connector-ref> </static-connectors> </cluster-connection> </code> - </pre> + </pre> <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering - section of the user manual.</p> + section of the user manual.</p> <h2>Example step-by-step</h2> <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p> @@ -120,7 +120,7 @@ under the License. Session session0 = connection0.createSession(false, Session.AUTO_ACKNOWLEDGE); </code> </pre> - + <li>We create a JMS Session on server 1</li> <pre class="prettyprint"> <code> @@ -175,14 +175,14 @@ under the License. for (int i = 0; i < numMessages; i++) { TextMessage message = session0.createTextMessage("This is text message " + i); - + producer.send(message); - + System.out.println("Sent message: " + message.getText()); } </code> </pre> - + <li>We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. ActiveMQ Artemis has <b>load balanced</b> the messages between the available consumers on the different nodes. @@ -195,11 +195,11 @@ under the License. for (int i = 0; i < numMessages; i += 2) { TextMessage message0 = (TextMessage)consumer0.receive(5000); - + System.out.println("Got message: " + message0.getText() + " from node 0"); - + TextMessage message1 = (TextMessage)consumer1.receive(5000); - + System.out.println("Got message: " + message1.getText() + " from node 1"); TextMessage message2 = (TextMessage)consumer2.receive(5000); @@ -207,7 +207,7 @@ under the License. System.out.println("Got message: " + message2.getText() + " from node " + con2Node); } </code> - </pre> + </pre> <li>And finally (no pun intended), <b>always</b> remember to close your JMS resources after use, in a <code>finally</code> block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects</li> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml index 4da5fa9..cace0be 100644 --- a/examples/jms/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml @@ -54,7 +54,7 @@ <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>2</max-hops> <static-connectors allow-direct-connections-only="true"> <connector-ref>server1-connector</connector-ref> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml index f8662cf..d6918f6 100644 --- a/examples/jms/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml @@ -54,7 +54,7 @@ <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>2</max-hops> <static-connectors allow-direct-connections-only="true"> <connector-ref>server2-connector</connector-ref> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml b/examples/jms/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml index a3a8a47..9f2e15a 100644 --- a/examples/jms/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml +++ b/examples/jms/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml @@ -52,7 +52,7 @@ <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>2</max-hops> </cluster-connection> </cluster-connections> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-topic/readme.html ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-topic/readme.html b/examples/jms/clustered-topic/readme.html index 087fafc..bf92e08 100644 --- a/examples/jms/clustered-topic/readme.html +++ b/examples/jms/clustered-topic/readme.html @@ -34,22 +34,22 @@ under the License. <p>A JMS Topic is an example of <b>publish-subscribe</b> messaging where all subscribers receive all the messages sent to the topic (assuming they have no message selectors).</p> <p>This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use - JNDI, these could be instantiated directly. + JNDI, these could be instantiated directly. <p>Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes - and to load balance the messages between the nodes.</p> + and to load balance the messages between the nodes.</p> <pre class="prettyprint"> <code><cluster-connection name="my-cluster"> <address>jms</address> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> </code> - </pre> + </pre> <p>For more information on ActiveMQ Artemis load balancing, and clustering in general, please see the clustering - section of the user manual.</p> + section of the user manual.</p> <h2>Example step-by-step</h2> <p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p> @@ -88,7 +88,7 @@ under the License. connection0 = cf0.createConnection(); </code> </pre> - + <li>We create a JMS Connection connection1 which is a connection to server 1</li> <pre class="prettyprint"> <code> @@ -102,7 +102,7 @@ under the License. Session session0 = connection0.createSession(false, Session.AUTO_ACKNOWLEDGE); </code> </pre> - + <li>We create a JMS Session on server 1</li> <pre class="prettyprint"> <code> @@ -142,14 +142,14 @@ under the License. for (int i = 0; i < numMessages; i++) { TextMessage message = session0.createTextMessage("This is text message " + i); - + producer.send(message); - + System.out.println("Sent message: " + message.getText()); } </code> </pre> - + <li> We now consume those messages on <b>both</b> server 0 and server 1. We note that all messages have been consumed by <b>both</b> consumers. @@ -159,15 +159,15 @@ under the License. for (int i = 0; i < numMessages; i ++) { TextMessage message0 = (TextMessage)consumer0.receive(5000); - + System.out.println("Got message: " + message0.getText() + " from node 0"); - + TextMessage message1 = (TextMessage)consumer1.receive(5000); - + System.out.println("Got message: " + message1.getText() + " from node 1"); } </code> - </pre> + </pre> <li>And finally (no pun intended), <b>always</b> remember to close your JMS resources after use, in a <code>finally</code> block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects</li> @@ -179,7 +179,7 @@ under the License. { connection0.close(); } - + if (connection1 != null) { connection1.close(); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-topic/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-topic/src/main/resources/activemq/server0/broker.xml b/examples/jms/clustered-topic/src/main/resources/activemq/server0/broker.xml index 4856aa8..604bcf8 100644 --- a/examples/jms/clustered-topic/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/clustered-topic/src/main/resources/activemq/server0/broker.xml @@ -74,7 +74,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/clustered-topic/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/clustered-topic/src/main/resources/activemq/server1/broker.xml b/examples/jms/clustered-topic/src/main/resources/activemq/server1/broker.xml index a9d16a8..1f5f25d 100644 --- a/examples/jms/clustered-topic/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/clustered-topic/src/main/resources/activemq/server1/broker.xml @@ -72,7 +72,7 @@ under the License. <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml b/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml index c9dec4c..9d6d063 100644 --- a/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml +++ b/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml @@ -76,7 +76,7 @@ under the License. <!-- since the backup servers scale down we need a sensible setting here so the bridge will stop --> <reconnect-attempts>5</reconnect-attempts> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/20326d0d/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml ---------------------------------------------------------------------- diff --git a/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml b/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml index 20ceb15..cda407e 100644 --- a/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml +++ b/examples/jms/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml @@ -76,7 +76,7 @@ under the License. <!-- since the backup servers scale down we need a sensible setting here so the bridge will stop --> <reconnect-attempts>5</reconnect-attempts> <use-duplicate-detection>true</use-duplicate-detection> - <forward-when-no-consumers>true</forward-when-no-consumers> + <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection>