From 579bf006cec3c362522da03546b2566c8a8af709 Mon Sep 17 00:00:00 2001 From: Julien Viet Date: Tue, 22 Jan 2019 14:01:58 +0100 Subject: [PATCH] EventBus field can be set at message creation time --- .../io/vertx/core/eventbus/impl/EventBusImpl.java | 1 - .../io/vertx/core/eventbus/impl/MessageImpl.java | 13 ++++--------- .../eventbus/impl/clustered/ClusteredEventBus.java | 2 +- .../eventbus/impl/clustered/ClusteredMessage.java | 3 ++- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/main/java/io/vertx/core/eventbus/impl/EventBusImpl.java b/src/main/java/io/vertx/core/eventbus/impl/EventBusImpl.java index 6be4da21e..135f3c2ee 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/EventBusImpl.java +++ b/src/main/java/io/vertx/core/eventbus/impl/EventBusImpl.java @@ -384,7 +384,6 @@ public class EventBusImpl implements EventBus, MetricsProvider { } protected boolean deliverMessageLocally(MessageImpl msg) { - msg.setBus(this); ConcurrentCyclicSequence handlers = handlerMap.get(msg.address()); if (handlers != null) { if (msg.isSend()) { diff --git a/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java b/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java index 582ea402a..179f48f93 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java +++ b/src/main/java/io/vertx/core/eventbus/impl/MessageImpl.java @@ -30,7 +30,7 @@ public class MessageImpl implements Message { private static final Logger log = LoggerFactory.getLogger(MessageImpl.class); protected MessageCodec messageCodec; - protected EventBusImpl bus; + protected final EventBusImpl bus; protected String address; protected String replyAddress; protected MultiMap headers; @@ -38,7 +38,8 @@ public class MessageImpl implements Message { protected V receivedBody; protected boolean send; - public MessageImpl() { + public MessageImpl(EventBusImpl bus) { + this.bus = bus; } public MessageImpl(String address, String replyAddress, MultiMap headers, U sentBody, @@ -146,14 +147,8 @@ public class MessageImpl implements Message { return messageCodec; } - public void setBus(EventBusImpl bus) { - this.bus = bus; - } - protected void sendReply(MessageImpl msg, DeliveryOptions options, Handler>> replyHandler) { - if (bus != null) { - bus.sendReply(msg, this, options, replyHandler); - } + bus.sendReply(msg, this, options, replyHandler); } protected boolean isLocal() { diff --git a/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.java b/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.java index fb06d31eb..3e5b5199e 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.java +++ b/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.java @@ -297,7 +297,7 @@ public class ClusteredEventBus extends EventBusImpl { size = buff.getInt(0); parser.fixedSizeMode(size); } else { - ClusteredMessage received = new ClusteredMessage(); + ClusteredMessage received = new ClusteredMessage(ClusteredEventBus.this); received.readFromWire(buff, codecManager); if (metrics != null) { metrics.messageRead(received.address(), buff.length()); diff --git a/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java b/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java index 2511ad6fd..7804179cf 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java +++ b/src/main/java/io/vertx/core/eventbus/impl/clustered/ClusteredMessage.java @@ -41,7 +41,8 @@ public class ClusteredMessage extends MessageImpl { private int headersPos; private boolean fromWire; - public ClusteredMessage() { + public ClusteredMessage(EventBusImpl bus) { + super(bus); } public ClusteredMessage(ServerID sender, String address, String replyAddress, MultiMap headers, U sentBody,