Spring Cloud Stream Kafka-可订阅的频道没有输出

时间:2018-11-02 10:06:32

标签: spring spring-boot memory-management apache-kafka spring-cloud-stream

我有一个应用程序,它执行大量的数据处理(一次约130万次)。该应用程序使用来自kafka主题的数据。

我正在使用spring-cloud-stream-starter-kafka的2.0.1版本来消耗数据。

我的代码如下:

监听器:

@Service
public class ListenerService {

    @Autowired
    private Application2<Foo> application;

    @Override
    @StreamListener(FooStreams.INPUT)
    public void subscribe(@Payload Foo foo) {
        application.sync(foo);
    }
}

流:

public interface FooStreams {

    String INPUT = "Foo";

    @Input(value = INPUT)
    SubscribableChannel subscribe();

}

在主应用程序中,我将流像这样绑定到kafka:

@SpringBootApplication
@EnableBinding({FooStreams.class})
public class Application {

    private static final Logger logger = LoggerFactory.getLogger(Application.class);

    public static void main(String[] args) {
        try {
            SpringApplication.run(Application.class, args);
        }
        catch (Exception e) {
            logger.error("Application failed to start");
        }

    }
}

我缺少什么吗?问题是我可以看到在数据处理期间内存利用率上升,而在处理完成后并没有下降。

0 个答案:

没有答案