Jawa / Говнокод #18956 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
try {
                eventTask = AliasHelper.getAliasValue(normalSession, AliasHelper.GENERAL_ALIAS_SET, AliasHelper.MSG_NEW_RESOLUTION);
                ismNS.beginTransaction(); //Начать обе транзакции
                ismSS.beginTransaction();
                for (Iterator iter = targetUserNames.iterator(); iter.hasNext(); ) {
                    MailSender.UserData userData = (MailSender.UserData) iter.next();
                    IDfId queueId = getMainDocument().queue(userData.getUserName(), eventTask, 1, false, null, "Отправьте копию генеральному директору.");
                    IDfQueueItem queue = (IDfQueueItem) superSession.getObject(queueId);
                    queue.setString("task_subject", queueMessage);
                    queue.save();
                }
            } catch (Exception e) {
                ismNS.setTransactionRollbackOnly();//Откатить изменения обеих транзакций
                ismSS.setTransactionRollbackOnly();
                throw new TTGWrapperException(e);
            } finally {
                try {
                    ismNS.commitTransaction();
                    ismSS.commitTransaction();
                } catch (DfException e) {
                    throw new TTGWrapperException(e);
                } finally {
                    ismSS.release(superSession);
                }
            }

try в finally чтобы закрыть транзакцию.

Запостил: Landing Landing, (Updated )

Комментарии (1) RSS

  • А теперь представим, что одна транзакция закоммитится, а вторая выбросит исключение.
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8