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

com.github.dgrandemange.idempotencereceiver.api.annot.Idempotent Maven / Gradle / Ivy

package com.github.dgrandemange.idempotencereceiver.api.annot;

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

import com.github.dgrandemange.idempotencereceiver.api.aspect.IdempotentReceiverAspect;

/**
 * 

* This annotation is intended to be used on any HTTP request handler methods * (declared within a rest controller) that requires manual idempotency. It is * useful for methods that are not idempotent by nature. *

* * @see IdempotentReceiverAspect */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Idempotent { /** * Defines zero or more exception classes, which must be subclasses of * {@link Exception}, indicating which exception types should be considered * eligible to registration in the idempotency repository.
* * Impact is : as soon as the exception has been registered in the idempotency * repository, any subsequent invocation (presenting the same idempotent key) of * the idempotent method will immediately raise this registered exception, * therefore skipping further method processing. * * @return array of exception classes that are registerable as idempotent method * result */ Class[] registerableEx() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy