/*
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.transaction.interceptor;
import java.util.Collection;
import org.springframework.lang.Nullable;
import org.springframework.transaction.TransactionDefinition;
This interface adds a rollbackOn
specification to TransactionDefinition
. As custom rollbackOn
is only possible with AOP, it resides in the AOP-related transaction subpackage. Author: Rod Johnson, Juergen Hoeller, Mark Paluch See Also: Since: 16.03.2003
/**
* This interface adds a {@code rollbackOn} specification to {@link TransactionDefinition}.
* As custom {@code rollbackOn} is only possible with AOP, it resides in the AOP-related
* transaction subpackage.
*
* @author Rod Johnson
* @author Juergen Hoeller
* @author Mark Paluch
* @since 16.03.2003
* @see DefaultTransactionAttribute
* @see RuleBasedTransactionAttribute
*/
public interface TransactionAttribute extends TransactionDefinition {
Return a qualifier value associated with this transaction attribute.
This may be used for choosing a corresponding transaction manager
to process this specific transaction.
Since: 3.0
/**
* Return a qualifier value associated with this transaction attribute.
* <p>This may be used for choosing a corresponding transaction manager
* to process this specific transaction.
* @since 3.0
*/
@Nullable
String getQualifier();
Return labels associated with this transaction attribute.
This may be used for applying specific transactional behavior
or follow a purely descriptive nature.
Since: 5.3
/**
* Return labels associated with this transaction attribute.
* <p>This may be used for applying specific transactional behavior
* or follow a purely descriptive nature.
* @since 5.3
*/
Collection<String> getLabels();
Should we roll back on the given exception?
Params: - ex – the exception to evaluate
Returns: whether to perform a rollback or not
/**
* Should we roll back on the given exception?
* @param ex the exception to evaluate
* @return whether to perform a rollback or not
*/
boolean rollbackOn(Throwable ex);
}