com.amazonaws.services.simpleworkflow.flow.annotations.WorkflowRegistrationOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk Show documentation
Show all versions of aws-java-sdk Show documentation
The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).
The newest version!
/*
* Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 com.amazonaws.services.simpleworkflow.flow.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.amazonaws.services.simpleworkflow.flow.WorkflowWorker;
import com.amazonaws.services.simpleworkflow.flow.common.FlowConstants;
import com.amazonaws.services.simpleworkflow.model.ChildPolicy;
/**
* @WorkflowRegistrationOptions is a required annotation, unless
* {@link SkipTypeRegistration} is provided, on interfaces annotated with
* {@link Workflow}.
*
* It contains all the registration options for WorkflowType which will be used for
* registration with Amazon SWF Service. Registration of types happen on
* {@link WorkflowWorker#start()}.
*
* @see WorkflowWorker
* @author fateev, samar
*
*/
@Target(ElementType.TYPE)
@Retention(value = RetentionPolicy.RUNTIME)
public @interface WorkflowRegistrationOptions {
/**
* Optional textual description of the workflow type. Maximum length is 1024
* characters.
*/
String description() default "";
/**
* Maximum time that workflow run is allowed to execute. Workflow is
* forcefully closed by the SWF service if this timeout is exceeded.
*/
long defaultExecutionStartToCloseTimeoutSeconds();
/**
* Single decision timeout. This timeout defines how long it takes to
* reexecute a decision after {@link WorkflowWorker} catastrophic failure in
* the middle of one. Do not confuse with the whole worklfow timeout (
* {@link #defaultExecutionStartToCloseTimeoutSeconds()} which can be really
* big. Default is 30 seconds.
*/
long defaultTaskStartToCloseTimeoutSeconds() default 30;
/**
* Task list that decision task is delivered through for the given workflow
* type.
*
*
* Default is {@link FlowConstants#USE_WORKER_TASK_LIST}, which means to use task
* list from the {@link WorkflowWorker} that the workflow implementation is
* registered with.
*/
String defaultTaskList() default FlowConstants.USE_WORKER_TASK_LIST;
ChildPolicy defaultChildPolicy() default ChildPolicy.TERMINATE;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy