code: private void internalUpdateJobStateAndResult(final JobInstance job) {
          transactionTemplate.execute(new TransactionCallbackWithoutResult() {
              protected void doInTransactionWithoutResult(TransactionStatus status) {
                  jobInstanceDao.updateStateAndResult(job);
                  if (job.isCompleted()) {
                      buildPropertiesService.saveCruiseProperties(job);
                  }
              }
          });
      }
docs: This method exists only so that we can scope the transaction properly