minor problem with the new failover syntax and uri params
---------------------------------------------------------

                 Key: AMQCPP-278
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-278
             Project: ActiveMQ C++ Client
          Issue Type: Bug
    Affects Versions: 3.1
            Reporter: lars geidel
            Assignee: Timothy Bish
            Priority: Minor


i played around a little with persistent messages and connection loss
the default behavior for that situation is that the producer blocks
what i want to achieve is that any problem while sending persistent messages 
leads to an exception, but reconnects should be possible
so i tried the following uri:
failover:(tcp://localhost:61616)?connection.sendTimeout=1000&timeout=1000
which enables reconnects, but the producer-thread still blocks (multithreaded 
program)

after some debugging i found that the uri parameters are ignored if the new 
failover syntax (as stated above) is used:
urihelper.cpp line 115 -> query is not set -> connection properties stay empty

so the working uri is:
failover://(tcp://localhost:61616)?connection.sendTimeout=1000&timeout=1000
(double slash after "failover:" - old syntax - see 
http://activemq.apache.org/failover-transport-reference.html)

and one question:
could it be that:
"failover:(uri1,...,uriN)?transportOptions"
indicates that the following uri is legal:
failover:(tcp://localhost:61616?connection.sendTimeout=1000,tcp://{some-other-host}:61616?connection.sendTimeout=2000)?timeout=1000
?
if yes, than there's a lot more to do ... (query-parsing - e.g. urisupport.cpp 
line 122 will cut the query; cast-exception at "2000)"; ...)

anyway, keep up the good work

with kind regards

lars geidel


btw.:
the parameter in FailoverTransport.cpp line 231 should be "timeout", not 
"timedout" :-)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to