← ClaudeAtlas

natslisted

NATS / JetStream consumer + publisher conventions for Java (jnats). Auto-loads when editing `**/*NatsListener*.java`, `**/*NatsClient*.java` in projects with messaging=nats. Covers durable consumers, ack policies, JetStream streams + consumers, replay.
taipt1504/claudehut · ★ 1 · AI & Automation · score 62
Install: claude install-skill taipt1504/claudehut
# NATS / JetStream ## Quick start (JetStream consumer) ```java @Component @RequiredArgsConstructor @Slf4j public class OrderEventNatsListener { private final Connection nc; // jnats Connection private final ObjectMapper mapper; private final OrderService service; @PostConstruct public void start() throws Exception { JetStream js = nc.jetStream(); ConsumerConfiguration cfg = ConsumerConfiguration.builder() .durable("shipping-svc") .ackPolicy(AckPolicy.Explicit) .deliverPolicy(DeliverPolicy.New) .build(); PushSubscribeOptions opts = PushSubscribeOptions.builder() .stream("ORDERS") .configuration(cfg) .build(); Dispatcher dispatcher = nc.createDispatcher(msg -> {}); js.subscribe("orders.created", "shipping-svc-q", dispatcher, msg -> { try { OrderEvent event = mapper.readValue(msg.getData(), OrderEvent.class); service.handle(event); msg.ack(); } catch (TransientException ex) { msg.nak(); // redeliver } catch (Exception ex) { log.error("non-recoverable", ex); msg.term(); // terminate, do not redeliver } }, true, opts); } } ``` Detailed: `references/jetstream-consumer.md`, `references/durables-ack.md`. ## Assets - `assets/templates/NatsClient.java.tmpl` ## Hard rules -