Try this syntax adjustment:

    <cluster-connections>
      <cluster-connection name="${bc.core.deploy.env}-cluster">
        <connector-ref>master-connector</connector-ref>
        <retry-interval>2000</retry-interval>
        <retry-interval-multiplier>1.5</retry-interval-multiplier>
        <max-retry-interval>120000</max-retry-interval>
        <initial-connect-attempts>30</initial-connect-attempts>
        <reconnect-attempts>30</reconnect-attempts>
        <static-connectors allow-direct-connections-only="true">
          <connector-ref>slave-connector</connector-ref>
        </static-connectors>
      </cluster-connection>
    </cluster-connections>

I swapped the order of <reconnect-attempts> and <initial-connect-attempts>.
The XSD wants the elements in <cluster-connection> to be in a particular
order. We should probably change that as it's not very user friendly.


Justin

On Thu, Jul 11, 2019 at 12:37 PM bob.sandif...@sirsidynix.com <
bob.sandif...@sirsidynix.com> wrote:

> Artemis 2.9.0. (as well as 2.6.3 where I first was testing).
>
> I've got a working master / backup cluster, using static connectors.  My
> server broker.xml has these components:
>
>     <connectors>
>       <connector
> name="master-connector">tcp://activemqmaster:61616</connector>
>       <connector
> name="slave-connector">tcp://activemqbackup:61616</connector>
>     </connectors>
>
>     <acceptors>
>       <acceptor
> name="netty-acceptor">tcp://
> 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE;useEpoll=true
> </acceptor>
>     </acceptors>
>
>     <ha-policy>
>       <shared-store>
>         <master>
>           <failover-on-shutdown>true</failover-on-shutdown>
>         </master>
>       </shared-store>
>     </ha-policy>
>
>     <cluster-connections>
>       <cluster-connection name="${bc.core.deploy.env}-cluster">
>         <connector-ref>master-connector</connector-ref>
>         <static-connectors allow-direct-connections-only="true">
>           <connector-ref>slave-connector</connector-ref>
>         </static-connectors>
>       </cluster-connection>
>     </cluster-connections>
>
> I want to adjust the behaviour when (for example) master starts up and the
> backup server isn't present.  With the above, the master console just shows
> exception after exception like this:
>
>  2019-07-11 15:38:45,750 ERROR [org.apache.activemq.artemis.core.client]
> AMQ214016: Failed to create netty connection:
> java.net.UnknownHostException:
> activemqbackup
> activemqmaster_1     |  at
> java.net.InetAddress.getAllByName0(InetAddress.java:1281)
> [rt.jar:1.8.0_212]
>
> every half second.  (Well - twice every half second for some reason - there
> seem to be two threads or something trying to connect to the backup
> server).
>
> When I try to add options into the <cluster-connection>, some of them work,
> some of them don't seem to work, and some cause compile errors when Artemis
> starts up.  For example, adding:
>
>    <retry-interval>2</retry-interval>
>
> setting works - the retries go from every half second to every 2 seconds
> (although there seem to be two threads trying to connect).
>
> Adding:
>
>     <retry-interval-multiplier>1.5</retry-interval-multiplier>
>
> doesn't seem to make any difference - the exceptions still come every 2
> seconds.
>
> Adding a
>
>     <initial-connect-attempts>3</initial-connect-attempts>
>
> to try to limit the initial number of connection attempts yields an error
>
> activemqmaster_1     | Caused by: org.xml.sax.SAXParseException;
> cvc-complex-type.2.4.a: Invalid content was found starting with element
> 'initial-connect-attempts'. One of
> '{"urn:activemq:core":use-duplicate-detection,
> "urn:activemq:core":forward-when-no-consumers,
> "urn:activemq:core":message-load-balancing, "urn:activemq:core":max-hops,
> "urn:activemq:core":confirmation-window-size,
> "urn:activemq:core":producer-window-size,
> "urn:activemq:core":call-failover-timeout,
> "urn:activemq:core":notification-interval,
> "urn:activemq:core":notification-attempts,
> "urn:activemq:core":scale-down-connector,
> "urn:activemq:core":static-connectors,
> "urn:activemq:core":discovery-group-ref}' is expected.
> activemqmaster_1     |  at
>
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
>
> when I look at the artemis-configuration.xsd, the "cluster-connectionType"
> has "initial-connect-attempts" defined.
>          <xsd:element name="initial-connect-attempts" type="xsd:int"
> default="-1" maxOccurs="1" minOccurs="0">
>             <xsd:annotation>
>                <xsd:documentation>
>                   How many attempts should be made to connect initially
>                </xsd:documentation>
>             </xsd:annotation>
>          </xsd:element>
>
> What I'm trying to get to is something like this:
>
>     <cluster-connections>
>       <cluster-connection name="${bc.core.deploy.env}-cluster">
>         <connector-ref>master-connector</connector-ref>
>         <retry-interval>2000</retry-interval>
>         <retry-interval-multiplier>1.5</retry-interval-multiplier>
>         <max-retry-interval>120000</max-retry-interval>
>         <reconnect-attempts>30</reconnect-attempts>
>         <initial-connect-attempts>30</initial-connect-attempts>
>         <static-connectors allow-direct-connections-only="true">
>           <connector-ref>slave-connector</connector-ref>
>         </static-connectors>
>       </cluster-connection>
>     </cluster-connections>
>
>
> Does anyone have any ideas on what I might be doing wrong?
>
> Thanks!
>
>
>
> --
> Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>

Reply via email to