アノテーションインターフェース EmbeddedKafka


Spring for Apache Kafka ベースのテストを実行するテストクラスで指定できるアノテーション。通常の Spring TestContext フレームワークに加えて、次の機能を提供します。

このアノテーションの一般的な使用方法は次のとおりです。

 @RunWith(SpringRunner.class)
 @EmbeddedKafka
 public class MyKafkaTests {

    @Autowired
    private EmbeddedKafkaBroker kafkaEmbedded;

    @Value("${spring.embedded.kafka.brokers}")
    private String brokerAddresses;
 }
 
EmbeddedKafka を SpringJUnitConfig と併用する場合は、複数のテストを実行するときに JVM のシャットダウン時に特定の競合状態が発生するのを防ぐために、テストクラスで DirtiesContext を使用することをお勧めします。
導入:
1.3
作成者:
Artem Bilan, Elliot Metsger, Zach Olauson, Gary Russell, Sergio Lourenco, Pawel Lozinski, Adrian Chlebosz, Soby Chacko
関連事項:
  • オプション要素のサマリー

    オプション要素
    修飾子と型
    オプションの要素
    説明
    int
    管理操作のタイムアウト(秒単位)(例:
    ブートストラップサーバーアドレスおよびデフォルトの "spring.embedded.kafka.brokers" で設定するプロパティ名。
    実行前にブローカー構成に追加する必要がある形式 key = value のプロパティ。
    Spring Resource url は、ブローカー構成に追加する必要があるプロパティの場所を指定します。
    boolean
    int
    boolean
    Zookeeper の代わりに KRaft を使用します。デフォルトは false です。
    int
    int[]
    kafka ブローカーがリッスンする明示的なポートを設定します。
    作成する必要のあるトピックトピックには、プロパティプレースホルダーが含まれる場合があります。
    int
    int
    内部 ZK クライアント接続のタイムアウト。
    int
    内部 ZK クライアントセッションのタイムアウト。
    int
    組み込み Zookeeper がリッスンするポートを設定します。
  • 要素の詳細

    • value

      @AliasFor("count") int value
      戻り値:
      ブローカーの数
      デフォルト:
      1
    • count

      @AliasFor("value") int count
      戻り値:
      ブローカーの数
      デフォルト:
      1
    • controlledShutdown

      boolean controlledShutdown
      戻り値:
      kafka.utils.TestUtils.createBrokerConfig() に渡されます。
      デフォルト:
      false
    • ports

      int[] ports
      Kafka ブローカーがリッスンする明示的なポートを設定します。他のプロセスからアクセスする組み込みブローカーを実行する場合に便利です。インスタンスごとにポートを指定する必要があります。つまり、ポートの数は count 属性の値と一致する必要があります。KRaft モードを使用する場合、このプロパティは無効です。
      戻り値:
      ブローカー用のポート。
      導入:
      2.2.4
      デフォルト:
      {0}
    • zookeeperPort

      int zookeeperPort
      組み込み Zookeeper がリッスンするポートを設定します。KRaft モードを使用する場合、このプロパティは無効です。
      戻り値:
      ポート。
      導入:
      2.3
      デフォルト:
      0
    • partitions

      int partitions
      戻り値:
      トピックごとのパーティション
      デフォルト:
      2
    • topics

      StringSE[] topics
      作成する必要のあるトピックトピックには、プロパティプレースホルダーが含まれる場合があります。topics = "${kafka.topic.one:topicOne}" トピックは partitions() パーティションで作成されます。他のパーティション数で他のトピックをプロビジョニングするには、オートワイヤーブローカーで addTopics(NewTopic... topics) メソッドを呼び出します。プレースホルダーは、Spring Test アプリケーションコンテキストが存在する場合にのみ解決されます(@SpringJunitConfig or @SpringRunner を使用する場合など)。
      戻り値:
      作成するトピック
      デフォルト:
      {}
    • brokerProperties

      StringSE[] brokerProperties
      実行前にブローカー構成に追加する必要がある形式 key = value のプロパティ。Spring Test コンテキストで使用する場合、プロパティにはプロパティプレースホルダーが含まれる場合があります。delete.topic.enable=${topic.delete:true}。プレースホルダーは、Spring Test アプリケーションコンテキストが存在する場合にのみ解決されます(@SpringJunitConfig or @SpringRunner を使用する場合など)。
      戻り値:
      追加するプロパティ
      関連事項:
      デフォルト:
      {}
    • brokerPropertiesLocation

      StringSE brokerPropertiesLocation
      Spring Resource url は、ブローカー構成に追加する必要があるプロパティの場所を指定します。Spring Test コンテキストで使用する場合、brokerPropertiesLocation URL とプロパティ自体に、初期化中に解決されるプレースホルダーが含まれる場合があります。brokerProperties() で指定されたプロパティは、brokerPropertiesLocation で見つかったプロパティを上書きします。プレースホルダーは、Spring Test アプリケーションコンテキストが存在する場合にのみ解決されます(@SpringJunitConfig or @SpringRunner を使用する場合など)。
      戻り値:
      追加するプロパティの場所を指定する Resource URL
      関連事項:
      デフォルト:
      ""
    • bootstrapServersProperty

      StringSE bootstrapServersProperty
      ブートストラップサーバーアドレスおよびデフォルトの "spring.embedded.kafka.brokers" で設定するプロパティ名。3.0.10 以降はデフォルトで spring.kafka.bootstrap-servers になります。
      戻り値:
      プロパティ名。
      導入:
      2.3
      関連事項:
      デフォルト:
      "spring.kafka.bootstrap-servers"
    • zkConnectionTimeout

      int zkConnectionTimeout
      内部 ZK クライアント接続のタイムアウト。KRaft モードを使用する場合、このプロパティは無効です。
      戻り値:
      デフォルトの EmbeddedKafkaZKBroker.DEFAULT_ZK_CONNECTION_TIMEOUT
      導入:
      2.4
      デフォルト:
      18000
    • zkSessionTimeout

      int zkSessionTimeout
      内部 ZK クライアントセッションのタイムアウト。KRaft モードを使用する場合、このプロパティは無効です。
      戻り値:
      デフォルトの EmbeddedKafkaZKBroker.DEFAULT_ZK_SESSION_TIMEOUT
      導入:
      2.4
      デフォルト:
      18000
    • adminTimeout

      int adminTimeout
      管理操作(トピックの作成、閉じるなど)のタイムアウト(秒単位)。
      戻り値:
      デフォルトの EmbeddedKafkaBroker.DEFAULT_ADMIN_TIMEOUT
      導入:
      2.8.5
      デフォルト:
      10
    • kraft

      boolean kraft
      Zookeeper の代わりに KRaft を使用します。デフォルトは false です。
      戻り値:
      KRaft を使用するかどうか。
      導入:
      3.6
      デフォルト:
      false