Java 如何使用Akka以分块的方式从Oracle表中获取记录?

Java 如何使用Akka以分块的方式从Oracle表中获取记录?,java,oracle,akka,Java,Oracle,Akka,我试图从用例的角度学习Akka。 我在Oracle中有一个表,其中包含800万条记录 我想以分块的方式检索记录,处理它们,然后接收下一个分块 例如: 我想要3000张唱片 处理3000条记录并暂停将DB对象加载到内存中 处理完3000条记录后,我想再次打开流,获取下一块3000条记录,处理它,以此类推 我对Akka非常陌生,因此我想知道Akka能帮我做些什么?不,Akka帮不了你。Akka有助于处理大规模并行任务(>10000个并行活动),并且您有单个活动,可以作为线程(而不是参与者)轻松实

我试图从用例的角度学习Akka。 我在Oracle中有一个表,其中包含800万条记录

我想以分块的方式检索记录,处理它们,然后接收下一个分块

例如:

  • 我想要3000张唱片
  • 处理3000条记录并暂停将DB对象加载到内存中
  • 处理完3000条记录后,我想再次打开流,获取下一块3000条记录,处理它,以此类推

我对Akka非常陌生,因此我想知道Akka能帮我做些什么?

不,Akka帮不了你。Akka有助于处理大规模并行任务(>10000个并行活动),并且您有单个活动,可以作为线程(而不是参与者)轻松实现。是的,这可以与Akka流一起工作。您需要一个可以从Oracle读取的源,例如使用slick()然后逐个处理元素。不过,它不是批处理,而是以流式方式处理,以便一个元素在另一个元素之后进行处理。在任何情况下,它都应该限制在任何单个时间点使用的内存量。