如果能用spring-boot集成的组件当然是最好的。
maven
1 | <parent> |
配置
1 | server: |
注意,里面properties是其他配置,如果对应的kafka没有这些配置,则不起作用,会打印警告日志:
1 | 2019-03-19 14:51:55.616 WARN 20894 --- [nio-8088-exec-3] o.a.k.clients.producer.ProducerConfig : |
代码
生产者:
1 | import org.slf4j.Logger; |
消费者:
1 | import org.slf4j.Logger; |
controller:
1 |
|
访问:
1 | $ curl http://localhost:8088/kafka/publish?msg=hahah |
log:
1 | 2019-03-19 15:08:05.959 INFO 20894 --- [nio-8088-exec-7] com.jimo.kafka.Producer |
可配置
如果我们想让topic字段可配置,就需要做一点小改变:
@KafkaListener的topic可以是SpEL表达式,
或这个
1 |
|
producer同步发送:
1 |
|
记得配置:
1 | kafka: |