@Override protected void doBegin(Object transactionObject, TransactionDefinition transactionDefinition) throws TransactionException { if (transactionDefinition .getIsolationLevel() != TransactionDefinition.ISOLATION_DEFAULT && transactionDefinition .getIsolationLevel() != TransactionDefinition.ISOLATION_SERIALIZABLE) { throw new IllegalStateException( "DatastoreTransactionManager supports only isolation level " + "TransactionDefinition.ISOLATION_DEFAULT or ISOLATION_SERIALIZABLE"); } if (transactionDefinition .getPropagationBehavior() != TransactionDefinition.PROPAGATION_REQUIRED) { throw new IllegalStateException( "DatastoreTransactionManager supports only propagation behavior " + "TransactionDefinition.PROPAGATION_REQUIRED"); } Tx tx = (Tx) transactionObject; Transaction transaction = this.datastore.newTransaction(); if (transactionDefinition.isReadOnly()) { tx.transaction = new ReadOnlyTransaction(transaction); } else { tx.transaction = transaction; } }
@Override protected void doBegin(Object transactionObject, TransactionDefinition transactionDefinition) throws TransactionException { if (transactionDefinition .getIsolationLevel() != TransactionDefinition.ISOLATION_DEFAULT && transactionDefinition .getIsolationLevel() != TransactionDefinition.ISOLATION_SERIALIZABLE) { throw new IllegalStateException( "DatastoreTransactionManager supports only isolation level " + "TransactionDefinition.ISOLATION_DEFAULT or ISOLATION_SERIALIZABLE"); } if (transactionDefinition .getPropagationBehavior() != TransactionDefinition.PROPAGATION_REQUIRED) { throw new IllegalStateException( "DatastoreTransactionManager supports only propagation behavior " + "TransactionDefinition.PROPAGATION_REQUIRED"); } Tx tx = (Tx) transactionObject; Transaction transaction = this.datastore.newTransaction(); if (transactionDefinition.isReadOnly()) { tx.transaction = new ReadOnlyTransaction(transaction); } else { tx.transaction = transaction; } }