Вы можете использовать функцию CreateProcessWithLogonW или аналогичные CreateProcessAsUser и CreateProcessWithTokenW .
@Transactional(propagation=Propagation.REQUIRED)
и @Transactional(rollbackFor = Exception.class)
примерно одинаковы. Как propagation=Propagation.REQUIRED
является по умолчанию . Таким образом, с учетом этого они эквивалентны @Transactional(propagation=Propagation.REQUIRED)
и @Transactional(propagation=Propagation.REQUIRED, rollbackFor = Exception.class)
.
Единственное отличие состоит в том, что без rollbackFor = Exception.class
он будет выполнять откат только на RuntimeException
и Error
, а не на другие возникающие исключения. (Это то же самое для JEE при использовании EJB, и поведение также было переведено в Spring).
Это также объясняется в Javadoc @Transactional
.
Во-первых, по умолчанию propagation
всегда присутствует, пишете вы это или нет. Если вы напишите rollbackFor
, то транзакция будет отменена, если произойдет исключение.
Вот ссылка для получения дополнительной помощи: @Transactional