【发布时间】:2021-09-24 10:19:00
【问题描述】:
我有一批来自服务的数据。数据需要按照它们相互依赖的顺序进行处理。我想了解在 Java 中处理此问题的最佳实践和方法。
例子:
- 进入系统的管理器批次(M1、M2...)。同时我们还得到了一批员工(E1,E2...)和他们的地址(A1,A2..)。
- 地址只有在其链接到的员工已被处理后才能被处理。同样,只有在处理了与其关联的经理后,才能处理员工。
- 地址 A1、员工 E1 和经理 M1 的一般处理顺序为 M1 -> E1 -> A1
────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬────┬──────────
│ │ │ │ │ │ │ │ │
xx xx xx│ M1 │ M2 │ M3 │ M4 │ M5 │ M6 │ M7 │ M8│ xx xx xx
│ │ │ │ │ │ │ │ │
─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┴───────────
─────────┬──────┬─────┬─────┬────┬─────┬────┬────┬────────
│ │ │ │ │ │ │ │
xx xx xx│ E1 │ E2 │ E3 │ E4 │ E5 │ E6 │ E7 │xx xx xx
│ │ │ │ │ │ │ │
─────────┴──────┴─────┴─────┴────┴─────┴────┴────┴────────
───────┬─────┬────┬────┬────┬────┬────┬────┬────┬────┬──────
│ │ │ │ │ │ │ │ │ │
xx xx xx│ A1 │ A2 │ A3 │ A4 │ A5 │ A6 │ A7 │ A7 │ A8 │xx xx xx
│ │ │ │ │ │ │ │ │ │
───────┴─────┴────┴────┴────┴────┴────┴────┴────┴────┴──────
【问题讨论】:
-
你应该试试 Reactive Streams 的实现,比如 RxJava 或 Spring Reactor...
-
感谢@RafaelGuillen。这就是我现在所拥有的。正在寻找是否有更好的解决方案/框架等。
标签: java stream frameworks batch-processing