Skip to content

Commit 303fa97

Browse files
committed
Make sure headers are not null
1 parent c1fbe39 commit 303fa97

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/main/java/com/rabbitmq/client/observation/micrometer/MicrometerObservationCollector.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,9 @@ public void publish(
8585
} catch (IOException | AlreadyClosedException e) {
8686
observation.error(e);
8787
throw e;
88+
} finally {
89+
observation.stop();
8890
}
89-
observation.stop();
9091
}
9192

9293
@Override
@@ -105,12 +106,18 @@ public GetResponse basicGet(BasicGetCall call, String queue) {
105106
try {
106107
GetResponse response = call.get();
107108
if (response != null) {
109+
Map<String, Object> headers;
110+
if (response.getProps() == null || response.getProps().getHeaders() == null) {
111+
headers = Collections.emptyMap();
112+
} else {
113+
headers = response.getProps().getHeaders();
114+
}
108115
DeliverContext context =
109116
new DeliverContext(
110117
response.getEnvelope().getExchange(),
111118
response.getEnvelope().getRoutingKey(),
112119
queue,
113-
response.getProps().getHeaders(),
120+
headers,
114121
response.getBody() == null ? 0 : response.getBody().length);
115122
Observation observation =
116123
RabbitMqObservationDocumentation.RECEIVE_OBSERVATION.observation(

src/test/java/com/rabbitmq/client/test/functional/MicrometerObservationCollectorMetrics.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ public SampleTestRunnerConsumer yourCode() {
191191
consumeConnection = connectionFactory.newConnection();
192192
Channel basicGetChannel = consumeConnection.createChannel();
193193
waitAtMost(() -> basicGetChannel.basicGet(QUEUE, true) != null);
194-
195194
waitAtMost(() -> buildingBlocks.getFinishedSpans().size() >= 3);
196195
System.out.println(
197196
buildingBlocks.getFinishedSpans().stream()

0 commit comments

Comments
 (0)