我有一些疑问,关于在oracle bpel的情况下将哪些bpel变量和值存储到Dehydration商店。考虑我有一个带有两个范围的进程“P1”:带有变量“s1a,s1b,s1c”的外部范围“s1”,并且在这个s1范围内有一个嵌套的内部范围“s2”,变量“s2a,s2b,s2c” 。当流程实例结束或外部作用域s1结束时存在等待活动时,则流程状态将移至脱水库。
我的问题是oracle soa服务器存储s1和s的所有变量 s2到脱水存储或者因为s2范围就像是s1中的本地循环,oracle是否只保留外部范围s1的进程的变量和值?
我问的原因是我的流程案例中的内部范围S2处理了一个超过20 MB的非常大的xml,我不希望在流程执行结束时将其脱水到数据存储区,因为这将填充快速上升到桌面空间。
答案 0 :(得分:2)
如果嵌套范围已经完成处理,则没有任何东西可以相对于该范围脱水。我假设你的嵌套作用域是在作用域内获取大量数据并在嵌套作用域内处理它,因此数据在外部作用域中没有保留。
这当然是假设用于在嵌套范围内存储数据的变量包含在嵌套范围内,而不是外部范围或全局变量。