Class SubscribableKafkaChannel

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.kafka.channel.AbstractKafkaChannel
org.springframework.integration.kafka.channel.SubscribableKafkaChannel
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationManagement, org.springframework.integration.support.management.ManageableLifecycle, org.springframework.integration.support.management.ManageableSmartLifecycle, org.springframework.integration.support.management.TrackableComponent, org.springframework.messaging.MessageChannel, org.springframework.messaging.SubscribableChannel, org.springframework.messaging.support.InterceptableChannel
Direct Known Subclasses:
PublishSubscribeKafkaChannel

public class SubscribableKafkaChannel extends AbstractKafkaChannel implements org.springframework.messaging.SubscribableChannel, org.springframework.integration.support.management.ManageableSmartLifecycle
Subscribable channel backed by an Apache Kafka topic.
Since:
5.4
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.springframework.integration.channel.AbstractMessageChannel

    org.springframework.integration.channel.AbstractMessageChannel.ChannelInterceptorList

    Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement

    org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides
  • Field Summary

    Fields inherited from class org.springframework.integration.kafka.channel.AbstractKafkaChannel

    topic

    Fields inherited from class org.springframework.integration.channel.AbstractMessageChannel

    interceptors, meters

    Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport

    EXPRESSION_PARSER, logger

    Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement

    METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME

    Fields inherited from interface org.springframework.messaging.MessageChannel

    INDEFINITE_TIMEOUT
  • Constructor Summary

    Constructors
    Constructor
    Description
    SubscribableKafkaChannel(org.springframework.kafka.core.KafkaOperations<?,?> template, org.springframework.kafka.config.KafkaListenerContainerFactory<?> factory, String channelTopic)
    Construct an instance with the provided parameters.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.springframework.integration.dispatcher.MessageDispatcher
     
    int
     
    boolean
     
    boolean
     
    protected void
     
    void
    setAutoStartup(boolean autoStartup)
    Set the auto startup.
    void
    setMessageConverter(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter)
    Set the RecordMessageConverter to the listener.
    void
    setPhase(int phase)
    Set the phase.
    void
     
    void
     
    void
    stop(Runnable callback)
     
    boolean
    subscribe(org.springframework.messaging.MessageHandler handler)
     
    boolean
    unsubscribe(org.springframework.messaging.MessageHandler handler)
     

    Methods inherited from class org.springframework.integration.kafka.channel.AbstractKafkaChannel

    doSend, getGroupId, setGroupId

    Methods inherited from class org.springframework.integration.channel.AbstractMessageChannel

    addInterceptor, addInterceptor, destroy, getComponentType, getFullChannelName, getIChannelInterceptorList, getIntegrationPatternType, getInterceptors, getMetricsCaptor, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, removeInterceptor, removeInterceptor, send, send, setDatatypes, setInterceptors, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrack

    Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport

    afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement

    getManagedName, getManagedType, getThisAs, setManagedName, setManagedType

    Methods inherited from interface org.springframework.messaging.MessageChannel

    send, send

    Methods inherited from interface org.springframework.integration.support.context.NamedComponent

    getBeanName, getComponentName
  • Constructor Details

    • SubscribableKafkaChannel

      public SubscribableKafkaChannel(org.springframework.kafka.core.KafkaOperations<?,?> template, org.springframework.kafka.config.KafkaListenerContainerFactory<?> factory, String channelTopic)
      Construct an instance with the provided parameters.
      Parameters:
      template - template for sending.
      factory - factory for creating a container for receiving.
      channelTopic - the topic.
  • Method Details

    • setMessageConverter

      public void setMessageConverter(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter)
      Set the RecordMessageConverter to the listener.
      Parameters:
      messageConverter - the converter.
      Since:
      6.0
    • getPhase

      public int getPhase()
      Specified by:
      getPhase in interface org.springframework.context.Phased
      Specified by:
      getPhase in interface org.springframework.context.SmartLifecycle
    • setPhase

      public void setPhase(int phase)
      Set the phase.
      Parameters:
      phase - the phase.
      See Also:
      • Phased
    • isRunning

      public boolean isRunning()
      Specified by:
      isRunning in interface org.springframework.context.Lifecycle
      Specified by:
      isRunning in interface org.springframework.integration.support.management.ManageableLifecycle
    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
      Set the auto startup.
      Parameters:
      autoStartup - true to automatically start.
      See Also:
      • SmartLifecycle
    • isAutoStartup

      public boolean isAutoStartup()
      Specified by:
      isAutoStartup in interface org.springframework.context.SmartLifecycle
    • onInit

      protected void onInit()
      Overrides:
      onInit in class org.springframework.integration.channel.AbstractMessageChannel
    • createDispatcher

      protected org.springframework.integration.dispatcher.MessageDispatcher createDispatcher()
    • start

      public void start()
      Specified by:
      start in interface org.springframework.context.Lifecycle
      Specified by:
      start in interface org.springframework.integration.support.management.ManageableLifecycle
    • stop

      public void stop()
      Specified by:
      stop in interface org.springframework.context.Lifecycle
      Specified by:
      stop in interface org.springframework.integration.support.management.ManageableLifecycle
    • stop

      public void stop(Runnable callback)
      Specified by:
      stop in interface org.springframework.context.SmartLifecycle
    • subscribe

      public boolean subscribe(org.springframework.messaging.MessageHandler handler)
      Specified by:
      subscribe in interface org.springframework.messaging.SubscribableChannel
    • unsubscribe

      public boolean unsubscribe(org.springframework.messaging.MessageHandler handler)
      Specified by:
      unsubscribe in interface org.springframework.messaging.SubscribableChannel