Disclaimer

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Thursday, August 4, 2011

Conclusion on Chris Muir's ADF Task Flow Behavior in 11g

Chris Muir wrote an excellent series on the behavior of adf task flows in conjunction with the transaction control options and am connection. You can find all from the last post available here 

For little impatient people who may not have enough time to go through all the 4 blog posts may read the key points here:


1. A Bounded Task flow knows to which AM to connect and establish which db connection only via page definition file bindings. So, a transaction wont be initiated or a 
db connection won't be created until some event is triggered on the page to access page definition bindings.

2. If "No Controller Transaction" option is chosen then creation of transaction are totally relied on BC4J. 

3. Chained calls of bounded task flows with no controller transaction option and other transaction options should not be mixed to avoid unpredictable results.

4. Calling a bounded task flow with option use existing transaction from another bounder task flow with option 'always create a new transaction' and both having different 
db connections will cause the caller db connection to be used in the called BTF as well. 

5. 11.1.2 onwards there is no automatic nesting of AM of the called BTF under calling BTF's AM. So prior to 11.1.2 this would have resulted into just 1 AM Pool but now all AMs would be treated as root AM and having their own pool (unless they are explicitly nested at design time). Needless to say they will still share the same transaction/connection (if called BTF has option used exiting transaction (or, if possible))
Post a Comment