Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
2537a0a7
Commit
2537a0a7
authored
Oct 02, 2017
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish "Auto-configure Kafka MessageConverter"
Closes gh-10380
parent
d7bc93f2
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
131 additions
and
137 deletions
+131
-137
ConcurrentKafkaListenerContainerFactoryConfigurer.java
...ka/ConcurrentKafkaListenerContainerFactoryConfigurer.java
+5
-5
KafkaAnnotationDrivenConfiguration.java
...toconfigure/kafka/KafkaAnnotationDrivenConfiguration.java
+4
-4
KafkaAutoConfiguration.java
...work/boot/autoconfigure/kafka/KafkaAutoConfiguration.java
+1
-1
KafkaAutoConfigurationTests.java
...boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java
+117
-126
spring-boot-features.adoc
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+4
-1
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java
View file @
2537a0a7
...
...
@@ -20,7 +20,7 @@ import org.springframework.boot.autoconfigure.kafka.KafkaProperties.Listener;
import
org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory
;
import
org.springframework.kafka.core.ConsumerFactory
;
import
org.springframework.kafka.listener.config.ContainerProperties
;
import
org.springframework.kafka.support.converter.MessageConverter
;
import
org.springframework.kafka.support.converter.
Record
MessageConverter
;
/**
* Configure {@link ConcurrentKafkaListenerContainerFactory} with sensible defaults.
...
...
@@ -33,7 +33,7 @@ public class ConcurrentKafkaListenerContainerFactoryConfigurer {
private
KafkaProperties
properties
;
private
MessageConverter
messageConverter
;
private
Record
MessageConverter
messageConverter
;
/**
* Set the {@link KafkaProperties} to use.
...
...
@@ -44,10 +44,10 @@ public class ConcurrentKafkaListenerContainerFactoryConfigurer {
}
/**
* Set the {@link MessageConverter} to use.
* Set the {@link
Record
MessageConverter} to use.
* @param messageConverter the message converter
*/
public
void
setMessageConverter
(
MessageConverter
messageConverter
)
{
void
setMessageConverter
(
Record
MessageConverter
messageConverter
)
{
this
.
messageConverter
=
messageConverter
;
}
...
...
@@ -61,10 +61,10 @@ public class ConcurrentKafkaListenerContainerFactoryConfigurer {
public
void
configure
(
ConcurrentKafkaListenerContainerFactory
<
Object
,
Object
>
listenerContainerFactory
,
ConsumerFactory
<
Object
,
Object
>
consumerFactory
)
{
listenerContainerFactory
.
setConsumerFactory
(
consumerFactory
);
if
(
this
.
messageConverter
!=
null
)
{
listenerContainerFactory
.
setMessageConverter
(
this
.
messageConverter
);
}
listenerContainerFactory
.
setConsumerFactory
(
consumerFactory
);
Listener
container
=
this
.
properties
.
getListener
();
ContainerProperties
containerProperties
=
listenerContainerFactory
.
getContainerProperties
();
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaAnnotationDrivenConfiguration.java
View file @
2537a0a7
...
...
@@ -25,7 +25,7 @@ import org.springframework.kafka.annotation.EnableKafka;
import
org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory
;
import
org.springframework.kafka.config.KafkaListenerConfigUtils
;
import
org.springframework.kafka.core.ConsumerFactory
;
import
org.springframework.kafka.support.converter.MessageConverter
;
import
org.springframework.kafka.support.converter.
Record
MessageConverter
;
/**
* Configuration for Kafka annotation-driven support.
...
...
@@ -40,12 +40,12 @@ class KafkaAnnotationDrivenConfiguration {
private
final
KafkaProperties
properties
;
private
final
MessageConverter
messageConverter
;
private
final
Record
MessageConverter
messageConverter
;
KafkaAnnotationDrivenConfiguration
(
KafkaProperties
properties
,
ObjectProvider
<
MessageConverter
>
messageConverter
)
{
ObjectProvider
<
Record
MessageConverter
>
messageConverter
)
{
this
.
properties
=
properties
;
this
.
messageConverter
=
messageConverter
.
getIf
Availabl
e
();
this
.
messageConverter
=
messageConverter
.
getIf
Uniqu
e
();
}
@Bean
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfiguration.java
View file @
2537a0a7
...
...
@@ -60,7 +60,7 @@ public class KafkaAutoConfiguration {
public
KafkaAutoConfiguration
(
KafkaProperties
properties
,
ObjectProvider
<
RecordMessageConverter
>
messageConverter
)
{
this
.
properties
=
properties
;
this
.
messageConverter
=
messageConverter
.
getIf
Availabl
e
();
this
.
messageConverter
=
messageConverter
.
getIf
Uniqu
e
();
}
@Bean
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java
View file @
2537a0a7
This diff is collapsed.
Click to expand it.
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
View file @
2537a0a7
...
...
@@ -4846,6 +4846,8 @@ public class MyBean {
}
----
NOTE: If a `RecordMessageConverter` bean is defined, it is associated automatically to the
auto-configured `KafkaTemplate`.
[[boot-features-kafka-receiving-a-message]]
...
...
@@ -4853,7 +4855,8 @@ public class MyBean {
When the Apache Kafka infrastructure is present, any bean can be annotated with
`@KafkaListener` to create a listener endpoint. If no `KafkaListenerContainerFactory`
has been defined, a default one is configured automatically with keys defined in
`spring.kafka.listener.*`.
`spring.kafka.listener.*`. Also, if a `RecordMessageConverter` bean is defined, it is
associated automatically to the default factory.
The following component creates a listener endpoint on the `someTopic` topic:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment