You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Dejan Bosanac (Created) (JIRA)" <ji...@apache.org> on 2012/02/06 17:19:59 UTC

[jira] [Created] (AMQ-3699) Failover transport: support priority urls

Failover transport: support priority urls
-----------------------------------------

                 Key: AMQ-3699
                 URL: https://issues.apache.org/jira/browse/AMQ-3699
             Project: ActiveMQ
          Issue Type: New Feature
    Affects Versions: 5.5.0
            Reporter: Dejan Bosanac
            Assignee: Dejan Bosanac
             Fix For: 5.6.0


In some use cases it's important to detect that "local" broker is available and force reconnecting to it.

For example if we have url like

{code}failover:(tcp://local:61616,tcp://remote:61616)?priorityBackup=true{code}

should try to backup "local" transport until it's ready and reconnect there when available.

By default only the first url is considered "priority". If you want to further tune what urls are considered prioritized you can use something like

{code}failover:(tcp://local1:61616,tcp://local2:61616,tcp://remote:61616)?priorityBackup=true&priorityURIs=tcp://local1:61616,tcp://local2:61616{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (AMQ-3699) Failover transport: support priority urls

Posted by "Felix Ehm (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQ-3699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13218278#comment-13218278 ] 

Felix Ehm edited comment on AMQ-3699 at 2/28/12 3:36 PM:
---------------------------------------------------------

Dejan, is this fix already available to use from version fuse-02-02 ?
With this I still receive this exception :
{code}
javax.jms.JMSException: Could not create Transport. Reason: java.lang.IllegalArgumentException: Invalid connect parameters: {priorityBackup=true}
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
        at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:249)
        at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:262)
        at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:234)
        at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:182)
        at JmsConnector.getNewConnection(JmsConnector.java:94)
        at JmsConnector.getConnection(JmsConnector.java:54)
        at JmsTest.getConnection(JmsTest.java:95)
        at JmsTest.getNewSession(JmsTest.java:117)
        at JmsTest.getSession(JmsTest.java:106)
        at JmsTest.getDestination(JmsTest.java:181)
        at JmsTest.getDestination(JmsTest.java:163)
        at NormalConsumer.listen(NormalConsumer.java:87)
        at NormalConsumer.main(NormalConsumer.java:78)
Caused by: java.lang.IllegalArgumentException: Invalid connect parameters: {priorityBackup=true}
        at org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:64)
        at org.apache.activemq.transport.failover.FailoverTransportFactory.doConnect(FailoverTransportFactory.java:37)
        at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
        at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
        at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:247)
        ... 12 more

{code}


We are very much looking forward to have this feature as it solves a critical production problem.
Thanks,
Felix
                
      was (Author: felixehm):
    Dejan, is this fix already available to use from version fuse-02-02 ?
With this I still receive this exception :
{code}
javax.jms.JMSException: Could not create Transport. Reason: java.lang.IllegalArgumentException: Invalid connect parameters: {priorityBackup=true}
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
        at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:249)
        at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:262)
        at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:234)
        at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:182)
        at JmsConnector.getNewConnection(JmsConnector.java:94)
        at JmsConnector.getConnection(JmsConnector.java:54)
        at JmsTest.getConnection(JmsTest.java:95)
        at JmsTest.getNewSession(JmsTest.java:117)
        at JmsTest.getSession(JmsTest.java:106)
        at JmsTest.getDestination(JmsTest.java:181)
        at JmsTest.getDestination(JmsTest.java:163)
        at NormalConsumer.listen(NormalConsumer.java:87)
        at NormalConsumer.main(NormalConsumer.java:78)
Caused by: java.lang.IllegalArgumentException: Invalid connect parameters: {priorityBackup=true}
        at org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:64)
        at org.apache.activemq.transport.failover.FailoverTransportFactory.doConnect(FailoverTransportFactory.java:37)
        at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
        at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
        at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:247)
        ... 12 more

{code}


I are very much looking forward to have this feature as it solves a critical production problem.
Thanks,
Felix
                  
> Failover transport: support priority urls
> -----------------------------------------
>
>                 Key: AMQ-3699
>                 URL: https://issues.apache.org/jira/browse/AMQ-3699
>             Project: ActiveMQ
>          Issue Type: New Feature
>    Affects Versions: 5.5.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.6.0
>
>
> In some use cases it's important to detect that "local" broker is available and force reconnecting to it.
> For example if we have url like
> {code}failover:(tcp://local:61616,tcp://remote:61616)?priorityBackup=true{code}
> should try to backup "local" transport until it's ready and reconnect there when available.
> By default only the first url is considered "priority". If you want to further tune what urls are considered prioritized you can use something like
> {code}failover:(tcp://local1:61616,tcp://local2:61616,tcp://remote:61616)?priorityBackup=true&priorityURIs=tcp://local1:61616,tcp://local2:61616{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (AMQ-3699) Failover transport: support priority urls

Posted by "Dejan Bosanac (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dejan Bosanac resolved AMQ-3699.
--------------------------------

    Resolution: Fixed

Implemented with svn revision 1241061
                
> Failover transport: support priority urls
> -----------------------------------------
>
>                 Key: AMQ-3699
>                 URL: https://issues.apache.org/jira/browse/AMQ-3699
>             Project: ActiveMQ
>          Issue Type: New Feature
>    Affects Versions: 5.5.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.6.0
>
>
> In some use cases it's important to detect that "local" broker is available and force reconnecting to it.
> For example if we have url like
> {code}failover:(tcp://local:61616,tcp://remote:61616)?priorityBackup=true{code}
> should try to backup "local" transport until it's ready and reconnect there when available.
> By default only the first url is considered "priority". If you want to further tune what urls are considered prioritized you can use something like
> {code}failover:(tcp://local1:61616,tcp://local2:61616,tcp://remote:61616)?priorityBackup=true&priorityURIs=tcp://local1:61616,tcp://local2:61616{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AMQ-3699) Failover transport: support priority urls

Posted by "Felix Ehm (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQ-3699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13218278#comment-13218278 ] 

Felix Ehm commented on AMQ-3699:
--------------------------------

Dejan, is this fix already available to use from version fuse-02-02 ?
With this I still receive this exception :
{code}
javax.jms.JMSException: Could not create Transport. Reason: java.lang.IllegalArgumentException: Invalid connect parameters: {priorityBackup=true}
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
        at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:249)
        at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:262)
        at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:234)
        at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:182)
        at JmsConnector.getNewConnection(JmsConnector.java:94)
        at JmsConnector.getConnection(JmsConnector.java:54)
        at JmsTest.getConnection(JmsTest.java:95)
        at JmsTest.getNewSession(JmsTest.java:117)
        at JmsTest.getSession(JmsTest.java:106)
        at JmsTest.getDestination(JmsTest.java:181)
        at JmsTest.getDestination(JmsTest.java:163)
        at NormalConsumer.listen(NormalConsumer.java:87)
        at NormalConsumer.main(NormalConsumer.java:78)
Caused by: java.lang.IllegalArgumentException: Invalid connect parameters: {priorityBackup=true}
        at org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:64)
        at org.apache.activemq.transport.failover.FailoverTransportFactory.doConnect(FailoverTransportFactory.java:37)
        at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
        at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
        at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:247)
        ... 12 more

{code}


I are very much looking forward to have this feature as it solves a critical production problem.
Thanks,
Felix
                
> Failover transport: support priority urls
> -----------------------------------------
>
>                 Key: AMQ-3699
>                 URL: https://issues.apache.org/jira/browse/AMQ-3699
>             Project: ActiveMQ
>          Issue Type: New Feature
>    Affects Versions: 5.5.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.6.0
>
>
> In some use cases it's important to detect that "local" broker is available and force reconnecting to it.
> For example if we have url like
> {code}failover:(tcp://local:61616,tcp://remote:61616)?priorityBackup=true{code}
> should try to backup "local" transport until it's ready and reconnect there when available.
> By default only the first url is considered "priority". If you want to further tune what urls are considered prioritized you can use something like
> {code}failover:(tcp://local1:61616,tcp://local2:61616,tcp://remote:61616)?priorityBackup=true&priorityURIs=tcp://local1:61616,tcp://local2:61616{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira