0

我正在尝试处理数据上传,我试图通过PeopleSoft通过Integration Broker异步地在应用程序引擎中发布消息。关键是能够发送多个消息并在同一个节点中使用它们。在发送消息之前,我将数据存储在一个表(如T1)上,以将所有字段值存储在上载文件中。我们是否可以等待PeopleSoft应用程序引擎等待异步消息完成?

虽然消费我试图公开每个消息到组件接口和异常登录到同一个表T1。比方说,我们正在标记表格字段(比如Processed_flag ='Y')。

我需要一个机制,我可以等待所有的异步消息完成。我正在考虑检查T1表,如果T1表上有任何Processed_flag为'N'的行,只需让线程休眠更多时间。尽管所有消息都未处理,但请保持休眠状态,不要让应用程序引擎完成。

我可以得到的唯一好处是我不必一次等待多个实例,也不必一定要进行同步调用。整个想法是通过不同的交易来使用组件(就好像它被100人使用 - > 100次交易一样)。

除非这100个事务完成,否则我们将确保T1表保留记录上下的内容。如果出现问题,它可以记录由CI捕获的异常。

对这种方法的任何意见,将不胜感激。提前致谢!

回答

1

我们正在采取不同的方法。即使我们能够在应用程序引擎完成之前验证这些表上的数据,但异步发送消息的整个想法是没有用的。在这种情况下,使用同步消息会更好,并行运行进程。

因此,我们决定让应用程序引擎完成并通过消息发布所有数据块,并确保消息在同一节点中完全消耗。

  1. 我们将更新表T1,针对所有已处理/成功/失败的行,因为我们会继续使用消息并根据需要使用它们。

  2. 我们将为发布和使用的所有行保留审计或计数器。由于将同一组件暴露给多个事务将会对性能产生巨大影响。我们希望确保它的性能更好,就好像说有50个用户使用相同的配置项(当然不同的实例)更新组件后面的相同表。我将完成我的概念验证,并希望它会比并行运行这些过程好得多。

我希望这可以帮助任何人处理这些上传问题。谢谢!