-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMockConsumer.java
32 lines (28 loc) · 1.14 KB
/
MockConsumer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.backbase.mockchannel;
import java.time.Instant;
import java.util.Map;
import java.util.Optional;
import java.util.function.Consumer;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.messaging.Message;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RequiredArgsConstructor
public class MockConsumer implements Consumer<Message<Map<String,Object>>> {
private final SimpMessagingTemplate template;
public void accept(Message<Map<String,Object>> msg) {
MessageLog messageLog = new MessageLog(
(String) msg.getHeaders().get("msgTag"),
(String) msg.getHeaders().get("trackingId"),
(String) msg.getHeaders().get("msgChannel"),
msg.getHeaders().get("msgPriority", Integer.class),
Optional.ofNullable(msg.getHeaders().getTimestamp()).map(Instant::ofEpochMilli).orElse(null),
Instant.now()
);
log.info("Message Received: {}", messageLog);
this.template.convertAndSend("/topic/message-log", messageLog);
}
}