问题标签 [tibco-business-works]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 金额值比较规则产生不一致的结果 - Drools
我继承了一个程序,该程序使用 drools api 针对定义的 drl 规则文件运行 SettlementMessage 对象。该程序在生产中持续运行了大约 8 年。我们现在被要求从 Solaris SunOS 迁移到 IBM AIX 机器,并开始看到一些不一致的结果,几乎没有将金额字段与值进行比较的规则。
产生不一致结果的规则定义如下:
还有许多其他规则将 SettlementMessage 对象的不同属性与某些值匹配,并且所有规则都按预期工作。我们只看到这些规则与数量远低于定义阈值的对象匹配的问题。
SettlementMessage
我们每天都通过这些规则处理大量对象。通常当系统日期提前时 - 我们会处理 500 到 1500 个SettlementMessage
对象。对象按顺序处理,而不是并行处理。在大多数情况下,大多数对象都会得到正确处理 - 如果数量低于指定阈值,则规则不匹配。如果金额高于指定阈值,则匹配规则。在某些日子里,某些对象会错误地与这些规则匹配(数量低于规则中定义的阈值)。SettlementMessage
我们看到金额在 1 到 3000000 之间的对象的示例与规则之一匹配(取决于货币价值)。创建和运行规则的 Java 程序KieSession
打包为 jar 文件,并从 Tibco Business Works 适配器调用。KieSession
对象被创建为并在每个对象PooledObject
的多次调用之间重用。只要 BW 适配器运行,对象就会存在。对象被插入,被调用,对象被删除。SettlementMessage
KieSession
PooledObject
SettlementMessage
fireAllRules
SettlementMessage
一些有趣的观察:当我们得到与这些规则不正确匹配的对象时,如果我再次重新发送相同的(克隆)SettlementMessage
对象,它将再次不正确地匹配此规则。如果我重新启动 BW 适配器并再次重新发送相同的对象,那么它会正确处理。就像KieSession
基础决策表在内存中以某种方式损坏,但重新启动后一切恢复正常。原始应用程序使用 Drools 5.0.1 API,我将其重写为使用 Drools 7.12.0,这对行为没有影响。
有谁知道为什么这个数量比较会在某些随机日期在某些对象上不匹配?有没有办法修改这条规则来完成相同的预期逻辑,但结果一致(没有不匹配)?我尝试稍微更改这些规则的语法,但没有解决我的问题。最大的问题是 - 对于我想尝试的每一个更改,我都无法在我的 DEV 机器上重现这个问题,我需要在 IBM AIX 机器上等待几天才能让它再次出现。
SunOS 机器运行的是 Oracle Java。
IBM AIX 机器正在运行 Java IBM J9 VM 2.9。
我将不胜感激有关如何修改此规则的任何见解,这可能会对我面临的问题产生一些影响。
sonarqube - 适用于 TIBCO BusinessWorks5 的 SonarQube 插件
我需要为 TIBCO 实施 SonarQube。我们使用的当前 TIBCO 版本是 5.x 。我找不到任何 SonarQube TIBCO BW5 插件。我正在努力一周的所有可能的方法来构建它。但没有任何帮助?你能分享一下吗。
注意:我可以找到 TIBCO BW6 版本的链接。我需要 TIBCO BW5 版本的 sonarqube 插件。
tibco - 如何从 TEA 2.2 中部署的 Web 服务中检索 wsdl?
我在 TEA 2.2 中部署了一个 Web 服务,现在我无法从部署的服务中检索 wsdl。
这些是我正在为 wsdl 尝试的 URL。
tibco-business-works - 具有 dateTime 返回类型的 TIBCO BW6 自定义函数
我正在为 BW6 构建一个自定义函数,该函数应该将 ISO 8601 格式的字符串解析为 dateTime 对象。
到目前为止,我已经构建了这个功能:
当我运行此函数时,BW 抛出异常
那么如何从 BW6 中的自定义 xslt 函数返回 XML dateTime 对象。
soap - 没有正文元素的 WSDL 响应
我的任务是创建一个 SOAP Web 服务,并且响应不应该具有如下的 body 元素
我担心的是是否有可能创建一个响应没有正文元素的 SOAP 服务。我正在使用 Tibco BW 5 创建服务。
tibco - 如何从 BW5 对 Tibco ADB 适配器代码进行逆向工程?
我们有旧的 Tibco ADB 适配器代码,部署到 TIBCO ActiveMatrix BusinessWorks 5.11.0 并使用 TIBCO ActiveMatrix Adapter for Database 7.0.0
对于常规的 tibco 包,我们可以从
但 ADB 适配器代码不在 \tra\domain\tibco\datafiles\
有没有办法从 tibco 端获取 Tibco ADB 适配器源代码?
c - 从 Tibco bw6 调用 C 函数
我有现有的 C 程序,我想从 tibco bw6 调用它。有没有直接的方法,比如 bw 允许调用 java 代码。
一种可能的解决方案是使用 java invoke 和 jni。如果可能的话,直接打电话会更可取