【问题标题】:BRE Long Term Fact Retriever cache is being updated multiple times in BIzTalk Server 2006 R2BRE 长期事实检索器缓存在 BIzTalk Server 2006 R2 中多次更新
【发布时间】:2009-06-15 06:47:51
【问题描述】:

我在 Biztalk Server 2006 R2 中遇到了业务规则引擎的问题。

我在 BRE 中有 1 项政策。使用类库来调用策略。

我实现了 LongTermFactRetriever。

如果一次通过编排发送 1 条消息,BRE 缓存会刷新,一切正常。

但如果我们发送批量消息(例如同时发送 5 条消息),BRE 缓存会刷新 4 次(对于 4 个编排实例,factsHandleIn 为空)

现在我们在 BRE 工作内存中有 5 个缓存对象。同样,如果我们发送批量消息(一次同时发送 5 个),则使用缓存的实例并且不会创建新实例。

我的查询是“BRE 是否应该为流经编排的每条消息使用相同的 1 个缓存实例,或者如果现有缓存正被另一条消息使用,它是否应该为并发消息创建一个新实例”

【问题讨论】:

    标签: .net biztalk


    【解决方案1】:

    在某些情况下,BizTalk BRE 可以缓存多个长期事实实例。您有责任在您的事实检索器中确定何时更新长期事实并跟踪哪些 BRE 实例正在缓存您的哪些长期事实。

    这里是relevant part of the BizTalk documentation (出现在“DataTable 绑定示例”之前):

    “在某些批处理场景中,可能会创建同一策略的多个策略实例。如果创建新的策略实例,则必须确保断言正确的长期事实。

    此外,您需要编写自定义代码来实现以下策略:

    • 知道何时更新长期事实
    • 跟踪哪个规则引擎实例使用了哪些长期事实"

    如果您只有一个版本的最新事实并且可以根据需要可靠地刷新它们,那么第二点(跟踪哪个规则引擎实例使用哪个长期事实)并不是绝对必要的 - 这适用于大多数简单的情况.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多