Welcome to the new Spring.io forums!
If this is your first visit, be sure to check out the
by clicking the link above, and for security reasons, use the
forgot password link to reset your password..
You may have to register before you can post: click the register
link above to proceed. To start viewing messages, select the forum that you want to visit
from the selection below.
Yes this is a limitation of the default TransactionSynchronizer implementation, as it manages the token in local flowScope. You'll likely need a custom implementation to manage the token somewhere else, like in a database... we want to provide more out of the box help impls ourselves, so any jumpstart here if you're on a short timeline would be much appreciated.
A bit more info on what you need to do to plug in a custom transaction manager:
1. First you need to implement your custom transaction manager by implementing the interface org.springframework.web.flow.execution.Transaction Synchronizer. I.e. your implementation could store the transaction token in a database.
2. Next, register your custom transaction manager with the flow execution manager of your flow controller. Something like this:
After providing a custom TransactionSynchronizer which uses a different storage mechanism for storing the token, the token is still null in subflow states. However, completing the subflow, by reaching an end state, returns to the main flow and allows normal execution. If in the subflow and the browser back button is pressed, returning to a view state of the main flow, results in any further action to throw the following exception: