package com.netflix.governator.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* Used to indicate that a constructor argument cannot be constructed concurrently.
* Use this in conjunction with {@link ConcurrentProviders.of()} when instantiating
* an injected dependency in parallel results in the guice @Singleton scope deadlock.
*
* @see {@link ConcurrentProviders}
* @author elandau
*/
@Documented
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Target({ElementType.PARAMETER})
public @interface NonConcurrent {
}