Changes between Version 3 and Version 4 of Transactions


Ignore:
Timestamp:
09/04/25 05:09:48 (42 hours ago)
Author:
222003
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Transactions

    v3 v4  
    9696}}}
    9797
    98 Методот checkout е транзакциски метод за атомско креирање/поврзување на плаќањето, нарачката, и корекциите на залихи, кој врши промена на состојва на 4 различни ентитета.
    99 Кодот пресметува цена според опционален попуст (со клуб-картичка), отвора плаѓање „во тек“, ја гради нарачката за секој брендиран лек од кошничката, ги намалува залихите по објектите и на крај го финализира плаќањето и ја празни кошничката.
     98Методот *checkout* е транзакциски метод за атомско креирање/поврзување на плаќањето, нарачката, и корекциите на залихи, кој врши промена на состојва на 4 различни ентитета. Кодот пресметува цена според опционален попуст (со клуб-картичка), отвора плаѓање „во тек“, ја гради нарачката за секој брендиран лек од кошничката, ги намалува залихите по објектите и на крај го финализира плаќањето и ја празни кошничката.
    10099
    101100Транзакција обезбедува да нема ситуација во која залихата е намалена без валидна нарачка или плаќање, бидејќи секој неуспех фрла исклучок што иницира ROLLBACK.
     
    112111            rollbackFor = { Exception.class, java.io.IOException.class },
    113112            isolation = Isolation.READ_COMMITTED,
    114             propagation = Propagation.REQUIRED,
    115113            timeout = 30
    116114    )
     
    229227}}}
    230228
     229Методот *saveAll* се користи за зачувуање/ажурирање на брендиран лек, и сликите кои се поврзани со дадениот лек.
     230Во методот се вчитува или креира ентитетот, се верифицира производителот, се зачувуваат нови или се бришат постоечки слики, и се избира една главна слика. Ако настане грешка,
     231* ROLLBACK правилото ќе ја поништи целата работа во рамките на транзакцијата.
     232* isolation = READ_COMMITTED забранува dirty reads, ова е важно кога се менуваат повеќе поврзани табели.
     233* Тimeout е 30 секунди за транзакцијата да не троши ресурси предолго време.
     234
     235Методот е транзакциски за цел да се избегне ситуација каде се креираат слики без постоечки лек. Сите ентитети во транзакцијата се третираат како една атомска целина.
     236
    231237=== 3. Потврда за апликација на клиент да биде верифициран корисник ==
    232238
     
    248254
    249255}}}
     256
     257Методот *approve* е транзакциски за атомско одобрување на барањето и верификација на клиентот, со правило за Rollback, изолација READ_COMMITED и ограничување на извршување 10 секунди. Методот е транзакциски за да се обезбеди конзистентост меѓу статусот на апликацијата и ознаката за верификација на клиентот. Ако се изврши само одобрување на апликацијата, тогаш клиентот би останал неверифициран.