From 8502792aad07ee145206ac05a5acbf533797e893 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Fri, 12 Jun 2020 18:10:00 +0800 Subject: [PATCH] --- src/org/redkale/mq/MessageAgent.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/org/redkale/mq/MessageAgent.java b/src/org/redkale/mq/MessageAgent.java index db8a4eef5..c5c4208f3 100644 --- a/src/org/redkale/mq/MessageAgent.java +++ b/src/org/redkale/mq/MessageAgent.java @@ -42,6 +42,10 @@ public abstract class MessageAgent { protected MessageProducer sncpProducer; + protected final Object httpProducerLock = new Object(); + + protected final Object sncpProducerLock = new Object(); + protected HttpMessageClient httpMessageClient; protected SncpMessageClient sncpMessageClient; @@ -131,7 +135,7 @@ public abstract class MessageAgent { //获取指定topic的生产处理器 public MessageProducer getSncpProducer() { if (this.sncpProducer == null) { - synchronized (this) { + synchronized (sncpProducerLock) { if (this.sncpProducer == null) { this.sncpProducer = createProducer("SncpProducer"); this.sncpProducer.startup().join(); @@ -143,7 +147,7 @@ public abstract class MessageAgent { public MessageProducer getHttpProducer() { if (this.httpProducer == null) { - synchronized (this) { + synchronized (httpProducerLock) { if (this.httpProducer == null) { this.httpProducer = createProducer("HttpProducer"); this.httpProducer.startup().join();