I think it would aid readability to do these inline, perhaps you could have a utility method to get the transaction, but the begin/commit/rollback would read easier inline. Also, I think those methods should throw an exception if something goes wrong (the exception from the transactionManager is fine) rather than just log a warning.