Browse Source

Only disconnect the broker on error conditions

Otherwise we pull it out from underneath other producers/consumers who might be
talking to it.
Evan Huus 11 years ago
parent
commit
58d966f25f
1 changed files with 3 additions and 1 deletions
  1. 3 1
      producer.go

+ 3 - 1
producer.go

@@ -238,7 +238,9 @@ func (p *Producer) newBrokerProducer(broker *Broker) *brokerProducer {
 	shutdown:
 		delete(p.brokerProducers, bp.broker)
 		bp.flushIfAnyMessages(p)
-		p.client.disconnectBroker(bp.broker)
+		if shutdownRequired {
+			p.client.disconnectBroker(bp.broker)
+		}
 		close(bp.flushNow)
 		close(bp.hasMessages)
 		close(bp.done)