Making a job completed, rolling back on error
Yes.


Throw specialized exceptions like CannotMarkJobCompletedException and CannotRollbackTransactionException...
Make your toString() method on exceptions to return something you want what your logger to log
Instead of doing: ...CAN_..._COMPLETED + jobId, you may do: thrown exception already knows this jobId
Store the thrown exception in a variable and call your logger once


By doing all of that you will solve the problem of having nested try-catch blocks.