ソースを参照

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 12 年 前
親
コミット
58d966f25f
1 ファイル変更、3 行追加、1 行削除
  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)