首页 > 解决方案 > 在 tibco bw 中实现缓存

问题描述

在 TIBCO BW 中实现缓存

我需要在 TIBCO BW 中实现缓存/内存。此缓存的内容应该在 BW 项目中可用。

我想要做的是,当我收到一条包含多个发货记录的消息时 - (发货和交货编号是唯一的组合)

  1. 如果存在任何这些记录,我需要先检查缓存。如果是 - 拒绝整个 XML 如果不是,则将此数据推送到缓存/内存中。

  2. 完成后,我需要调用 SOAP 请求回复外部系统。

  3. 在另一个项目中,当收到来自外部系统的确认时,我需要检查消息中的记录,找出缓存中的那些记录并删除它们。

有没有办法做到这一点?

这里的挑战是整个消息没有唯一的密钥。每条装运/交货组合的记录都是唯一的。

这是我在其中尝试和挑战的内容:1)我想将数据放在一个文件中,并将该文件命名为每条消息的 requestID/Key。然后在另一个项目中,检查文件并删除它

但由于我们没有钥匙,我不能那样做。

2)使用共享变量:我相信共享变量不会在 bw 项目中可用。所以,这个选项不可用

3)第三个选项是使用EMS队列,将包含记录的消息暂时停在那里。然后在此搜索,如果记录匹配则拒绝请求。

并且,在确认(另一个项目)中,搜索 ems 消息中的记录并删除该特定消息。

对此的任何帮助将不胜感激。

谢谢

标签: cachingtibcotibco-emstibco-business-works

解决方案


为什么不使用数据库或文件来存储记录?因为当你停止或重启或appnode出现问题时,缓存将被清除,你将无法检索未处理的记录。


推荐阅读