<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lifecycle on Devops Monk</title><link>https://devops-monk.com/tags/lifecycle/</link><description>Recent content in Lifecycle on Devops Monk</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 04 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://devops-monk.com/tags/lifecycle/index.xml" rel="self" type="application/rss+xml"/><item><title>Pausing, Resuming, and Stopping Listener Containers</title><link>https://devops-monk.com/tutorials/spring-kafka/listener-lifecycle/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://devops-monk.com/tutorials/spring-kafka/listener-lifecycle/</guid><description>Why Control Container Lifecycle? A running listener consumes from Kafka continuously. In production you need to:
Pause consumption when a downstream service is overloaded (back-pressure) Resume once the downstream recovers Stop a container entirely during maintenance or feature flag toggles Restart after a configuration change without redeploying Spring Kafka exposes all of this through KafkaListenerEndpointRegistry and the container&amp;rsquo;s own lifecycle API.
Container States stateDiagram-v2 [*] --> Running : start() Running --> Paused : pause() Paused --> Running : resume() Running --> Stopped : stop() Stopped --> Running : start() Paused --> Stopped : stop() Running — polling Kafka, dispatching to listener Paused — broker connection maintained, consumer heartbeat sent, no new records fetched Stopped — consumer thread terminated, partitions released back to group Paused is preferable to stopped for temporary throttling: it avoids a rebalance and keeps the consumer&amp;rsquo;s partition assignment intact.</description></item></channel></rss>