Springboot+kafka 实践

Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序。

一,自定义 SpringApplication

前面我们看到了SpringBoot项目的启动类是这样的。

@SpringBootApplication

publicclassSpringBootSampleApplication {

publicstaticvoidmain(String[] args) {

SpringApplication.run(SpringBootSampleApplication.class, args);

}

}

其实,我们可以自定义它的各种属性。这时候需要创建SpringApplication对象并设置它的各种属性。比方说下面不显示Banner。还有很多配置和用法请查阅官方文档。

@SpringBootApplication

publicclassSpringBootSampleApplication {

publicstaticvoidmain(String[] args) {

SpringApplication application =newSpringApplication (SpringBootSampleApplication.class);

application.setBannerMode(Banner.Mode.OFF);

application.run(args);

}

}

二,事件和监听器

如果有更高级的需求可以使用监听器来管理Spring Boot程序的各个生命周期。监听器需要实现接口。

publicclass MyAppListenerimplementsApplicationListener {

@Override

publicvoidonApplicationEvent(ApplicationReadyEvent event) { System.out.println("应用程序准备就绪");

KafkaConsumerService kafkaConsumer = new KafkaConsumerService();

Thread t = new Thread(kafkaConsumer);

t.start();

}}

在监听器中可以设置下面几种事件。

ApplicationStartingEvent

ApplicationEnvironmentPreparedEvent

ApplicationPreparedEvent

ApplicationReadyEvent

ApplicationFailedEvent

之后,把监听器添加到Spring程序中。

@SpringBootApplication()

publicclassSpringBootSampleApplication {

publicstaticvoidmain(String[] args) {

SpringApplication application =newSpringApplication(SpringBootSampleApplication.class); application.setBannerMode(Banner.Mode.OFF);

application.addListeners(newMyAppListener());

application.run(args);

}

}

三,kafka客户端

实现如下:

maven 依赖

org.apache.kafka

kafka-clients

0.9.0.1

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180116G0R11500?refer=cp_1026

相关快讯

扫码关注云+社区