Commit e699879
committed
Close out NATS pending list: gate cleanup, capabilities API, metadata, ZSET guards
Five small follow-ups against the recently re-audited pending list:
1. RqueueMessageMetadataServiceImpl drops its redundant
@conditional(RedisBackendCondition) — the per-class gate is
redundant once RqueueRedisListenerConfig itself is conditional
and component-scans the whole com.github.sonus21.rqueue.redis
subtree. Last sibling to still carry it; matches the cleanup
already applied to the other five web service impls.
2. RqueueQDetailServiceImpl.readFromZset / readFromZsetWithScore
gain a backend-capability guard. Both used to reach into a
Redis-shaped RqueueMessageTemplate even when the active broker
is NATS — which has no ZSET-shaped scheduled / completion
queue and would NPE through the template's null Redis path.
The new requireScheduledIntrospection check inspects
MessageBroker.capabilities().supportsScheduledIntrospection
and surfaces a structured BackendCapabilityException (HTTP 501
via the existing advice) instead. readFromList stays unguarded
because the LIST path is already routed through the broker SPI
peek when a non-Redis broker is configured.
3. New GET /rqueue/api/v1/capabilities endpoint on both the
imperative and reactive REST controllers. Returns the active
broker's Capabilities record so the dashboard front-end can
hide unsupported panels at boot rather than waiting for each
call to 501. ObjectProvider<MessageBroker> keeps the dep
optional — deployments that strip the bean fall back to
Capabilities.REDIS_DEFAULTS, the historical behavior.
4. spring-boot-starter wires
spring-boot-configuration-processor as an annotationProcessor
so the build emits spring-configuration-metadata.json with all
36 rqueue.nats.* keys (verified after compile). Pure
compile-time addition, no new runtime deps.
(5 — confirming NatsBackendEndToEndIT on CI — is push-driven and
covered by this push.)
All 4 module unit suites still green:
rqueue-core / rqueue-redis (57) / rqueue-web (39) / rqueue-nats (29).
Assisted-By: Claude Code1 parent d4e3265 commit e699879
5 files changed
Lines changed: 79 additions & 5 deletions
File tree
- rqueue-redis/src/main/java/com/github/sonus21/rqueue/redis/web
- rqueue-spring-boot-starter
- rqueue-web/src/main/java/com/github/sonus21/rqueue/web
- controller
- service/impl
Lines changed: 6 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | 20 | | |
22 | 21 | | |
23 | 22 | | |
| |||
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | | - | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | 42 | | |
45 | 43 | | |
46 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
| |||
Lines changed: 23 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
68 | 71 | | |
69 | 72 | | |
70 | 73 | | |
| |||
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
76 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
77 | 83 | | |
78 | 84 | | |
79 | 85 | | |
80 | 86 | | |
81 | 87 | | |
82 | 88 | | |
| 89 | + | |
83 | 90 | | |
84 | 91 | | |
85 | 92 | | |
| |||
215 | 222 | | |
216 | 223 | | |
217 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
218 | 240 | | |
Lines changed: 28 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
| |||
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
| 70 | + | |
67 | 71 | | |
68 | 72 | | |
69 | 73 | | |
| |||
72 | 76 | | |
73 | 77 | | |
74 | 78 | | |
75 | | - | |
| 79 | + | |
| 80 | + | |
76 | 81 | | |
77 | 82 | | |
78 | 83 | | |
79 | 84 | | |
80 | 85 | | |
81 | 86 | | |
| 87 | + | |
82 | 88 | | |
83 | 89 | | |
84 | 90 | | |
| |||
212 | 218 | | |
213 | 219 | | |
214 | 220 | | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
215 | 242 | | |
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| 226 | + | |
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
| |||
242 | 243 | | |
243 | 244 | | |
244 | 245 | | |
| 246 | + | |
245 | 247 | | |
246 | 248 | | |
247 | 249 | | |
248 | 250 | | |
249 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
250 | 267 | | |
251 | 268 | | |
252 | 269 | | |
| |||
0 commit comments