rx-java2 - 如何创建一个无限项流的可观察对象
问题描述
我有一个发射器,可以无限发射物品。如何将发射器发出的项目流转换为 RxJava 2 中的 Observable(或其中一种)。
解决方案
您是否正在寻找流式传输数据?假设我正在尝试从数据库中流式传输数据。
return Observable.using(
() -> getQueryConnectionSubscription(sql),
connectionSubscription -> Observable.create((subscriber) -> {
ResultSet resultSet = connectionSubscription.getResultSet();
int rowNumber = 0;
while (!subscriber.isDisposed() && resultSet.next()) {
T row = rowMapper.mapRow(resultSet, rowNumber);
subscriber.onNext(row);
}
subscriber.onComplete();
}),
(queryConnectionSubscription) -> {
queryConnectionSubscription.close();
});
我不确定您的数据来源是什么。但是只要你有数据,你就会一直调用subscriber.onNext(data)。如果您想要完整的详细信息,请查看链接 https://www.developerthoughtsonline.com/2019/02/02/streaming-with-reactive-java-and-spring-jdbctemplate/
推荐阅读
- macos - clang:错误:在 macOS 上运行鱼片时,链接器命令失败,退出代码为 1
- matplotlib - cv2.imread() 与 plt.imread()
- c# - 在角度 -> aspx web 方法 -> .net core web api 调用中同步调用异步方法时出现问题
- random - 如何为范围内的有符号整数实现无偏随机方法?
- freemarker - 如何配置 Maven Freemarker 以识别 `@include_page` 标签?
- apache-spark - 有没有办法在 Apache Spark 中创建按事件时间排序的窗口分区?
- python-3.x - 在进程之间共享 NetworkX 图,无需额外的内存成本(只读)
- r - 我应该如何在 ggplot2 中使用我的数据创建线图,还是需要在 R 中重构我的数据?
- javascript - 使用 API 的自动完成功能在 Django 中不起作用
- aws-lambda - AWS SAM - 附加策略附加到 Lambda 的 SQS 事件执行角色