Transactions that were not commited will be either rolled back or commited, depending on the transaction manager and the actual state it is in. If you do. Not use 2pc/xa it will simple, in other cases it really depends on the TM, databease used etc. In fact this is no different than any other app using db's
things 'triggered' via Activiti jobs/timers fill be automatically triggered again in the 'correct context' Things done via a ui must be re-done via the ui. Things triggered from external systems must be triggered via external systems again. So still nothing special compared to other applications/framework.