From 520f9d2bd95379fbbcc83e8812bfaa531387f937 Mon Sep 17 00:00:00 2001 From: "Carl C. Trieloff" Date: Tue, 17 Nov 2009 21:08:10 +0000 Subject: QPID-2188 , support for maxConnections, limit is set to broker git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@881517 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/ConnectionFactory.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'cpp/src/qpid/broker/ConnectionFactory.cpp') diff --git a/cpp/src/qpid/broker/ConnectionFactory.cpp b/cpp/src/qpid/broker/ConnectionFactory.cpp index dd794d7d95..24d812aefb 100644 --- a/cpp/src/qpid/broker/ConnectionFactory.cpp +++ b/cpp/src/qpid/broker/ConnectionFactory.cpp @@ -22,6 +22,7 @@ #include "qpid/framing/ProtocolVersion.h" #include "qpid/amqp_0_10/Connection.h" #include "qpid/broker/Connection.h" +#include "qpid/log/Statement.h" namespace qpid { namespace broker { @@ -37,6 +38,11 @@ ConnectionFactory::~ConnectionFactory() {} sys::ConnectionCodec* ConnectionFactory::create(ProtocolVersion v, sys::OutputControl& out, const std::string& id, unsigned int ) { + if (broker.getConnectionCounter().allowConnection()) + { + QPID_LOG(error, "Client max connection count limit exceeded: " << broker.getOptions().maxConnections << " connection refushed"); + return 0; + } if (v == ProtocolVersion(0, 10)) { ConnectionPtr c(new amqp_0_10::Connection(out, id, false)); c->setInputHandler(InputPtr(new broker::Connection(c.get(), broker, id, false))); -- cgit v1.2.1