|
26 | 26 | import io.micrometer.core.instrument.MeterRegistry;
|
27 | 27 | import io.micrometer.core.instrument.Tags;
|
28 | 28 | import org.springframework.beans.factory.annotation.Autowired;
|
29 |
| -import org.springframework.context.ApplicationListener; |
30 | 29 | import org.springframework.scheduling.annotation.Async;
|
31 | 30 |
|
32 | 31 | /**
|
|
35 | 34 | * queue messages can be in delayed queue because time has not reached. Some messages can be in dead
|
36 | 35 | * letter queue if dead letter queue is configured.
|
37 | 36 | */
|
38 |
| -public class RqueueMetrics implements ApplicationListener<RqueueBootstrapEvent> { |
| 37 | +public class RqueueMetrics implements RqueueMetricsRegistry { |
39 | 38 | static final String QUEUE_KEY = "key";
|
40 | 39 | private static final String QUEUE_SIZE = "queue.size";
|
41 | 40 | private static final String DELAYED_QUEUE_SIZE = "delayed.queue.size";
|
42 | 41 | private static final String PROCESSING_QUEUE_SIZE = "processing.queue.size";
|
43 | 42 | private static final String DEAD_LETTER_QUEUE_SIZE = "dead.letter.queue.size";
|
44 |
| - private RqueueRedisTemplate<String> rqueueMessageTemplate; |
| 43 | + private final RqueueRedisTemplate<String> rqueueMessageTemplate; |
| 44 | + private final QueueCounter queueCounter; |
45 | 45 | @Autowired private MetricsProperties metricsProperties;
|
46 | 46 | @Autowired private MeterRegistry meterRegistry;
|
47 |
| - private QueueCounter queueCounter; |
48 | 47 |
|
49 | 48 | public RqueueMetrics(
|
50 | 49 | RqueueRedisTemplate<String> rqueueMessageTemplate, QueueCounter queueCounter) {
|
@@ -107,6 +106,7 @@ public void onApplicationEvent(RqueueBootstrapEvent event) {
|
107 | 106 | }
|
108 | 107 | }
|
109 | 108 |
|
| 109 | + @Override |
110 | 110 | public QueueCounter getQueueCounter() {
|
111 | 111 | return this.queueCounter;
|
112 | 112 | }
|
|
0 commit comments