@Transaction
<span>public</span> <span>void</span> transferMoney(<span>Long</span> start, <span>Long</span> destination, <span>Double</span> cost) {
<span>if</span> (start.getCost < cost ) -> <span>throw</span> exception(Bạn k đủ tiền)
<span>try</span> {
trừ tiền của start
gọi API phía destination
cộng tiền cho destination
} <span>catch</span> {
<span>throw</span> lỗi
roll back DB của start
gọi API trừ tiền của end
}
}