24 lines
879 B
Markdown
24 lines
879 B
Markdown
|
|
||
|
|
||
|
@Service
|
||
|
public class UserServiceImpl implements UserService {
|
||
|
@Autowired
|
||
|
private DataSourceTransactionManager transactionManager;
|
||
|
@Override
|
||
|
@Transactional
|
||
|
public void save(User user) {
|
||
|
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
|
||
|
// explicitly setting the transaction name is something that can only be done programmatically
|
||
|
def.setName("SomeTxName");
|
||
|
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
|
||
|
|
||
|
TransactionStatus status = transactionManager.getTransaction(def);
|
||
|
try {
|
||
|
// execute your business logic here
|
||
|
//db operation
|
||
|
} catch (Exception ex) {
|
||
|
transactionManager.rollback(status);
|
||
|
throw ex;
|
||
|
}
|
||
|
}
|
||
|
}
|