Annotation Type EmbeddedKafka
-
@ExtendWith(EmbeddedKafkaCondition.class) @Target(TYPE) @Retention(RUNTIME) @Documented @Inherited public @interface EmbeddedKafka
Annotation that can be specified on a test class that runs Spring for Apache Kafka based tests. Provides the following features over and above the regular Spring TestContext Framework:- Registers a
EmbeddedKafkaBrokerbean with theEmbeddedKafkaBroker.BEAN_NAMEbean name.
The typical usage of this annotation is like:
@RunWith(SpringRunner.class) @EmbeddedKafka public class MyKafkaTests { @Autowired private EmbeddedKafkaBroker kafkaEmbedded; @Value("${spring.embedded.kafka.brokers}") private String brokerAddresses; }- Since:
- 1.3
- Author:
- Artem Bilan, Elliot Metsger, Zach Olauson, Gary Russell, Sergio Lourenco, Pawel Lozinski
- See Also:
EmbeddedKafkaBroker
- Registers a
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.StringbootstrapServersPropertyThe property name to set with the bootstrap server addresses instead of the default "spring.embedded.kafka.brokers".java.lang.String[]brokerPropertiesProperties in form key=value that should be added to the broker config before runs.java.lang.StringbrokerPropertiesLocationSpringResourceurl specifying the location of properties that should be added to the broker config.booleancontrolledShutdownintcountintpartitionsint[]portsSet explicit ports on which the kafka brokers will listen.java.lang.String[]topicsTopics that should be created Topics may contain property place holders, e.g.intvalueintzkConnectionTimeoutTimeout for internal ZK client connection.intzkSessionTimeoutTimeout for internal ZK client session.intzookeeperPortSet the port on which the embedded Zookeeper should listen;
-
-
-
-
ports
int[] ports
Set explicit ports on which the kafka brokers will listen. Useful when running an embedded broker that you want to access from other processes. A port must be provided for each instance, which means the number of ports must match the value of the count attribute.- Returns:
- ports for brokers.
- Since:
- 2.2.4
- Default:
- {0}
-
-
-
topics
java.lang.String[] topics
Topics that should be created Topics may contain property place holders, e.g.topics = "${kafka.topic.one:topicOne}"The topics will be created withpartitions()partitions; to provision other topics with other partition counts call theaddTopics(NewTopic... topics)method on the autowired broker. Place holders will only be resolved when there is a Spring test application context present (such as when using@SpringJunitConfig or @SpringRunner.- Returns:
- the topics to create
- Default:
- {}
-
-
-
brokerProperties
java.lang.String[] brokerProperties
Properties in form key=value that should be added to the broker config before runs. When used in a Spring test context, properties may contain property place holders, e.g.delete.topic.enable=${topic.delete:true}. Place holders will only be resolved when there is a Spring test application context present (such as when using@SpringJunitConfig or @SpringRunner.- Returns:
- the properties to add
- See Also:
brokerPropertiesLocation(),EmbeddedKafkaBroker.brokerProperties(java.util.Map)
- Default:
- {}
-
-
-
brokerPropertiesLocation
java.lang.String brokerPropertiesLocation
SpringResourceurl specifying the location of properties that should be added to the broker config. When used in a Spring test context, thebrokerPropertiesLocationurl and the properties themselves may contain place holders that are resolved during initialization. Properties specified bybrokerProperties()will override properties found inbrokerPropertiesLocation. Place holders will only be resolved when there is a Spring test application context present (such as when using@SpringJunitConfig or @SpringRunner.- Returns:
- a
Resourceurl specifying the location of properties to add - See Also:
brokerProperties(),EmbeddedKafkaBroker.brokerProperties(java.util.Map)
- Default:
- ""
-
-
-
bootstrapServersProperty
java.lang.String bootstrapServersProperty
The property name to set with the bootstrap server addresses instead of the default "spring.embedded.kafka.brokers".- Returns:
- the property name.
- Since:
- 2.3
- See Also:
EmbeddedKafkaBroker.brokerListProperty(String)
- Default:
- ""
-
-
-
zkConnectionTimeout
int zkConnectionTimeout
Timeout for internal ZK client connection.- Returns:
- default
EmbeddedKafkaBroker.DEFAULT_ZK_CONNECTION_TIMEOUT. - Since:
- 2.4
- Default:
- 6000
-
-
-
zkSessionTimeout
int zkSessionTimeout
Timeout for internal ZK client session.- Returns:
- default
EmbeddedKafkaBroker.DEFAULT_ZK_SESSION_TIMEOUT. - Since:
- 2.4
- Default:
- 6000
-
-