Transactionality in SCA – Part 1 – The Basics
July 23, 2008 3 Comments
Customers sometimes ask me how they can enable transactionality in their WESB and WPS Modules and Mediation Modules. I normally point them at this article (and this article also has a lot of good material).
There’s a lot of content in both of those, but here are the really salient points:
- In SCA, you don’t need code to manage your transactions. Instead, you need to define your components and operations appropriately, and then set up various SCA qualifiers to bind components together transactionally, so they operate together in a global transaction.
- By default, SCA components run in their own local transaction, so the first thing you need to do is identify which components need to be bound together and set their implementation’s SCA Transaction qualifier to True.
- You also need to identify each component or import that needs to join the global transaction of the upstream component (the component that connects to it), and set the Join Transaction qualifier on its interface to True to join the two transactions together.
- You may want to make sure the Suspend Transaction qualifier on any references which connect to downstream components is set to False – although this is the default if it is not present. This makes sure the transaction is not broken at this point.
That’s pretty much it, although you may want to look at the two articles above for more information.
I’ll be publishing another article next week on how you can refactor your interfaces to get your transaction boundaries exactly where you want them.