objectbox-examples icon indicating copy to clipboard operation
objectbox-examples copied to clipboard

Need more example in Transaction Insert and Query

Open GulajavaMinistudio opened this issue 6 years ago • 2 comments

From this documentation, there are several transaction in ObjectBox http://objectbox.io/documentation/transactions/

The class BoxStore offers the following methods to perform explicit transactions: runInTx: Runs the given runnable inside a transaction. runInReadTx: Runs the given runnable inside a read(-only) transaction. Unlike write transactions, multiple read transactions can run at the same time. runInTxAsync: Runs the given Runnable as a transaction in a separate thread. Once the transaction completes the given callback is called (callback may be null). callInTx: Like runInTx(Runnable), but allows returning a value and throwing an exception.

But I found little confused for runInTxAsync implementation. Any good example about how to implementation those transaction ?

GulajavaMinistudio avatar Jun 16 '18 09:06 GulajavaMinistudio

I suppose looking at the implementation of BoxStore.runInTxAsync can clear things up for you? It's basically the same as runInTx, except the Runnable is submitted to a thread pool and you get a callback once the transaction is done.

Simple example:

boxStore.runInTxAsync(new Runnable() {
    @Override
    public void run() {
        notesBox.put(note);
        ...
    }
}, new TxCallback<Void>() {
    @Override
    public void txFinished(@Nullable Void result, @Nullable Throwable error) {
        // transaction is done! do something?
    }
});

We maybe could add examples for this. -ut

greenrobot-team avatar Jun 19 '18 13:06 greenrobot-team

Thank you for response. Yes there's need addition in Documentation and Examples about every Transactions methods .

GulajavaMinistudio avatar Jun 24 '18 07:06 GulajavaMinistudio