diff options
Diffstat (limited to 'cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp')
| -rw-r--r-- | cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp b/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp index 2ee9cf3fc0..6c3c9c5218 100644 --- a/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp +++ b/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp @@ -103,7 +103,7 @@ ConnectionImpl::ConnectionImpl(const std::string& url, const Variant::Map& optio { QPID_LOG(debug, "Created connection with " << options); setOptions(options); - urls.push_back(url); + urls.insert(urls.begin(), url); } void ConnectionImpl::setOptions(const Variant::Map& options) @@ -125,10 +125,15 @@ void ConnectionImpl::setOptions(const Variant::Map& options) void ConnectionImpl::setOption(const std::string& name, const Variant& value) { - Variant::Map options; - options[name] = value; - setOptions(options); - QPID_LOG(debug, "Set " << name << " to " << value); + if (name == "url") { + if (urls.size()) urls[0] = value.asString(); + else urls.insert(urls.begin(), value.asString()); + } else { + Variant::Map options; + options[name] = value; + setOptions(options); + QPID_LOG(debug, "Set " << name << " to " << value); + } } void ConnectionImpl::close() |
