If you don't want save the faulted instances .you can use the persitent properties.
The givenbelow properties will not the save the faulted instances.
< property name="bpel.config.inMemoryOptimization">true</property>
Can you provide more details on the use-case? Is it only one BPEL process or two BPEL processes and calling one from the other? How is the BPEL process initiated (say, as a Web Service or by an adapter). And, I believe you changed oneWayDeliveryPolicy to either "sync" or "async.cache" (there is no value as "sync.cache", only "async.cache")?
It is initiated by an adapter and according to Transaction and Fault Propagation Semantics in BPEL Processes
it is a valid value. Also, I get the desired result using sync.cache and not sync, or async.cache.
These properties seem to produce the desired behavior. Can you explain how or why these properties produces the desired result?
Maybe it's a documentation error in 188.8.131.52 (http://docs.oracle.com/cd/E15586_01/integration.1111/e10224/soa_transactions.htm#CHDBIDAA) that a property named "sync.cache" is mentioned. In 184.108.40.206.3 documentation (http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/soa_transactions.htm#CHDBIDAA), it's mentioned only "async.cache" (and can see this property option in JDev, but not "sync.cache"). Anyway, using this property, the invocation/delivery message is stored in memory, hence the disadvantage is that the message is lost when there is a server failure. Using "sync" option will make the transaction execute in the same thread and it will help in transaction rollback.
Hi S.Ananth. I am experiencing inconsistent results with using these properties so I looked into manually throwing a RollBack fault when an error occurs. This does roll back the transaction but it leaves the composite instance in an error state of 'running'. Oracle documentation states that you cannot catch RollBack fault. Since that fault cannot be caught that means we are no longer in the composite therefore cannot "Terminate" the process. It seems to be a bug by Oracle that they do not terminate an instance when a fault is thrown outside of a composite. Does anyone know a way to terminate this instance?