Skip to content

Commit f7e8435

Browse files
committed
Set metrics collector property before starting loop
Or we can get a message and cannot count it.
1 parent 9c1a133 commit f7e8435

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/main/java/com/rabbitmq/model/amqp/AmqpConsumer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ class AmqpConsumer extends ResourceBase implements Consumer {
7777
this.nativeReceiver = createNativeReceiver(builder.connection().nativeSession(), this.address);
7878
this.initStateFromNativeReceiver(this.nativeReceiver);
7979
this.connection = builder.connection();
80-
this.startReceivingLoop();
8180
this.metricsCollector = this.connection.metricsCollector();
81+
this.startReceivingLoop();
8282
this.state(OPEN);
8383
this.metricsCollector.openConsumer();
8484
}

src/test/java/com/rabbitmq/model/amqp/MetricsCollectorTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static com.rabbitmq.model.amqp.TestUtils.waitAtMost;
2222
import static com.rabbitmq.model.metrics.MetricsCollector.ConsumeDisposition.*;
2323
import static com.rabbitmq.model.metrics.MetricsCollector.PublishDisposition.FAILED;
24+
import static java.lang.String.format;
2425
import static org.mockito.ArgumentMatchers.any;
2526
import static org.mockito.Mockito.*;
2627

@@ -151,7 +152,9 @@ void metricsShouldBeCollected() throws Exception {
151152
consumedCount.incrementAndGet();
152153
})
153154
.build();
154-
waitAtMost(() -> consumedCount.get() == 1);
155+
waitAtMost(
156+
() -> consumedCount.get() == 1,
157+
() -> format("Expected 1 message, but got %d.", consumedCount.get()));
155158
// the first message is accepted
156159
verify(metricsCollector, times(1)).consume();
157160
verify(metricsCollector, times(1))

0 commit comments

Comments
 (0)