public void transactional3() throws IOException { // tag::transactional3[] getDatastore().requireTransactional().withTransaction(tx -> { tx.setRollbackOnly(); // <1> }); // end::transactional3[] }
public void transactional1() throws IOException { // tag::transactional1[] final PathProperty<String> A_PROPERTY = PathProperty.create("propertyPath", String.class); final DataTarget<String> TARGET = DataTarget.named("test"); final Datastore datastore = getDatastore(); // build or obtain a concrete Datastore implementation datastore.isTransactional().ifPresent(transactional -> { // <1> OperationResult result = transactional.withTransaction(tx -> { // <2> OperationResult r = datastore.insert(TARGET, PropertyBox.builder(A_PROPERTY).set(A_PROPERTY, "test").build()); // <3> tx.commit(); // <4> return r; }); }); // end::transactional1[] }
public void transactional2() throws IOException { // tag::transactional2[] final PathProperty<String> A_PROPERTY = PathProperty.create("propertyPath", String.class); final DataTarget<String> TARGET = DataTarget.named("test"); final Datastore datastore = getDatastore(); // build or obtain a concrete Datastore implementation datastore.requireTransactional() // <1> .withTransaction(tx -> { // <2> datastore.insert(TARGET, PropertyBox.builder(A_PROPERTY).set(A_PROPERTY, "test").build()); // <3> tx.commit(); // <4> }); // end::transactional2[] }
public void transactional() { // tag::transactional[] final Datastore datastore = getDatastore(); // build or obtain a JDBC Datastore datastore.requireTransactional().withTransaction(tx -> { // <1> PropertyBox value = buildPropertyBoxValue(); datastore.save(TARGET, value); tx.commit(); // <2> }); OperationResult result = datastore.requireTransactional().withTransaction(tx -> { // <3> PropertyBox value = buildPropertyBoxValue(); return datastore.save(TARGET, value); }, TransactionConfiguration.withAutoCommit()); // <4> // end::transactional[] }
public void transactional() { // tag::transactional[] final Datastore datastore = getJpaDatastore(); // build or obtain a JPA Datastore datastore.requireTransactional().withTransaction(tx -> { // <1> PropertyBox value = buildPropertyBoxValue(); datastore.save(TARGET, value); tx.commit(); // <2> }); OperationResult result = datastore.requireTransactional().withTransaction(tx -> { // <3> PropertyBox value = buildPropertyBoxValue(); return datastore.save(TARGET, value); }, TransactionConfiguration.withAutoCommit()); // <4> // end::transactional[] }