-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
I am modeling a hotel booking scenario. I want to know does DA provides locking multiple keys dynamically?
for example like this:
StreamingLedger.State<String, Int> roomAvailabilities = tradeLedger.declareState("roomAvailabilities")
.withKeyType(String.class)
.withValueType(Int.class);
OutputTag<BookingResult> transactionResults = tradeLedger.usingStream(bookings, "bookings")
.apply(new CheckAndUpdateAvailabilityHandler())
.on(roomAvailabilities, Booking::getRoomIds, "rooms", READ_WRITE)
.output();
and then access to it inside the CheckAndUpdateAvailabilityHandler like this:
static final class CheckAndUpdateAvailabilityHandler extends TransactionProcessFunction<Booking, BookingResult> {
@ProcessTransaction
public void Booking(
final Booking book,
final Context<Booking> ctx,
final @State("rooms") StateAccess<Int> rooms) {
//and In here I can access to rooms and check availability of all of them
}
}
I also wonder if Data Artisan is available for scala language?
Metadata
Metadata
Assignees
Labels
No labels