All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jodd.jtx.meta.Transaction Maven / Gradle / Ivy

// Copyright (c) 2003-present, Jodd Team (jodd.org). All Rights Reserved.

package jodd.jtx.meta;

import jodd.jtx.JtxPropagationBehavior;
import jodd.jtx.JtxIsolationLevel;
import jodd.jtx.JtxTransactionMode;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;

/**
 * Transaction method annotation for external use.
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
public @interface Transaction {

	/**
	 * Transaction propagation mode. Default value: PROPAGATION_SUPPORTS.
	 */
	JtxPropagationBehavior propagation() default JtxPropagationBehavior.PROPAGATION_SUPPORTS;

	/**
	 * Transaction isolation mode. Default value: ISOLATION_DEFAULT.
	 */
	JtxIsolationLevel isolation() default JtxIsolationLevel.ISOLATION_DEFAULT;

	/**
	 * Transaction read-only mode. Default value: true
	 */
	boolean readOnly() default true;

	/**
	 * Transaction time-out time in seconds.
	 */
	int timeout() default JtxTransactionMode.DEFAULT_TIMEOUT;
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy