程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何在 Java 中实现“数据流” - 数据库交互?

发布于2022-01-08 22:21     阅读(1195)     评论(0)     点赞(6)     收藏(1)


语境:

  1. 我有一个基于 Java 的应用程序,比如说 AppA
  2. 它查询数据库,比方说 DataD
  3. AppB 说,它可以处理这些数据,做一些魔术并将其传递给另一个应用程序

问题:

  1. DataD中的数据量相当大。
  2. 我的 AppA 并没有真正具备一次性处理所有数据的能力。
  3. 我的 AppB 也对一次性获取所有数据不感兴趣。

解决方案:

  1. 我想从 DataD 查询数据,但一次只能查询 10,000 个(可配置)。
  2. 我将在 AppA 中处理该批次,将其传递到 AppB,然后在 DataD 上执行另一个查询。
  3. 我将不得不告诉 DataD,我已经阅读了多少条记录,并要求它提供接下来的 10,000 条记录。所以不知何故,我的 AppA 需要跟踪上次读取的数字,并有一种巧妙的方式来有效地查询 DataD 的一系列数据。
  4. 我的 DataD 没有任何方法来保持它已经发回的内容的计数(或维护标志)。它是一个数据库,也不可能在其上添加任何 SOA/REST 智能。因此,我的 AppA 必须足够智能才能对特定范围进行查询。

问题:

  1. 在核心 java 中不诉诸太多杂耍的情况下,是否有可能使用任何框架来实现这一点——我喜欢称之为——“数据流”?如果是这样,如何?

解决方案


这听起来很复杂,我建议你尽量让它变得简单。

我会让 AppA 执行查询并处理它获取的每一行,并将派生数据写入 AppB 正在侦听的 Socket。除非你知道这会导致性能问题,否则我不会让它变得更复杂。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/375973/88fd25c9ee4e7972a815/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)