Транзакциям нравятся продажи и покупки, созданные с помощью REST.
@Component
@Path("txns")
public class Transaction {
@Path("/purchases")
public Response postPurchaseTrnsaction(Transaction txn) {
// persistence takes place here
}
@Path("/sales")
public Response postSalesTrnsaction(Transaction txn) {
// persistence takes place here
}
}
Существует отдельный процесс фоновой инвентаризации, который обновляет инвентаризацию SKU, проданных или приобретенных в результате вышеуказанных транзакций.
public class InventoryProcessor {
@Scheduled(fixedRate = 900000,initialDelay = 3000) // 15 mins
@Transactional
public void doInventory() {
// open Transactions, update inventory records
}
}
Этот процесс выполняется каждые 15 минут. Однако всякий раз, когда поступают новые транзакции, необходимо явно активировать или уведомить метод InventoryProcessor
doInventory
для немедленного проведения инвентаризации.
Есть вариант весной.