com.amazonaws.services.simpleworkflow.flow.worker
Class GenericWorker

java.lang.Object
  extended by com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker
All Implemented Interfaces:
Suspendable, SuspendableWorker, WorkerBase, WorkerLifecycle
Direct Known Subclasses:
GenericActivityWorker, GenericWorkflowWorker

public abstract class GenericWorker
extends Object
implements WorkerBase


Constructor Summary
GenericWorker()
           
GenericWorker(AmazonSimpleWorkflow service, String domain, String taskListToPoll)
           
 
Method Summary
 boolean awaitTermination(long timeout, TimeUnit unit)
           
 String getDomain()
           
 long getDomainRetentionPeriodInDays()
           
 String getIdentity()
           
 int getMaximumPollRateIntervalMilliseconds()
           
 double getMaximumPollRatePerSecond()
           
 double getPollBackoffCoefficient()
           
 long getPollBackoffInitialInterval()
           
 long getPollBackoffMaximumInterval()
           
 int getPollThreadCount()
           
 AmazonSimpleWorkflow getService()
           
 String getTaskListToPoll()
           
 Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()
           
 boolean isDisableServiceShutdownOnStop()
           
 boolean isRegisterDomain()
           
 boolean isRunning()
           
 void resumePolling()
           
 void setDisableServiceShutdownOnStop(boolean disableServiceShutdownOnStop)
          By default when @{link shutdown() or @{link shutdownNow() is called the worker calls AmazonSimpleWorkflow.shutdown() on the service instance it is configured with before shutting down internal thread pools.
 void setDomain(String domain)
           
 void setDomainRetentionPeriodInDays(long domainRetentionPeriodInDays)
           
 void setIdentity(String identity)
           
 void setMaximumPollRateIntervalMilliseconds(int maximumPollRateIntervalMilliseconds)
           
 void setMaximumPollRatePerSecond(double maximumPollRatePerSecond)
           
 void setPollBackoffCoefficient(double backoffCoefficient)
           
 void setPollBackoffInitialInterval(long backoffInitialInterval)
           
 void setPollBackoffMaximumInterval(long backoffMaximumInterval)
           
 void setPollThreadCount(int threadCount)
           
 void setRegisterDomain(boolean registerDomain)
          Should domain be registered on startup.
 void setService(AmazonSimpleWorkflow service)
           
 void setTaskListToPoll(String taskListToPoll)
           
 void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)
           
 void shutdown()
           
 boolean shutdownAndAwaitTermination(long timeout, TimeUnit unit)
           
 void shutdownNow()
           
 void start()
           
 void suspendPolling()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.amazonaws.services.simpleworkflow.flow.WorkerBase
registerTypesToPoll
 

Constructor Detail

GenericWorker

public GenericWorker(AmazonSimpleWorkflow service,
                     String domain,
                     String taskListToPoll)

GenericWorker

public GenericWorker()
Method Detail

getService

public AmazonSimpleWorkflow getService()
Specified by:
getService in interface WorkerBase

setService

public void setService(AmazonSimpleWorkflow service)

getDomain

public String getDomain()
Specified by:
getDomain in interface WorkerBase

setDomain

public void setDomain(String domain)

isRegisterDomain

public boolean isRegisterDomain()
Specified by:
isRegisterDomain in interface WorkerBase

setRegisterDomain

public void setRegisterDomain(boolean registerDomain)
Should domain be registered on startup. Default is false. When enabled #setDomainRetentionPeriodInDays(Long) property is required.

Specified by:
setRegisterDomain in interface WorkerBase

getDomainRetentionPeriodInDays

public long getDomainRetentionPeriodInDays()
Specified by:
getDomainRetentionPeriodInDays in interface WorkerBase

setDomainRetentionPeriodInDays

public void setDomainRetentionPeriodInDays(long domainRetentionPeriodInDays)
Specified by:
setDomainRetentionPeriodInDays in interface WorkerBase

getTaskListToPoll

public String getTaskListToPoll()
Specified by:
getTaskListToPoll in interface WorkerBase

setTaskListToPoll

public void setTaskListToPoll(String taskListToPoll)

getMaximumPollRatePerSecond

public double getMaximumPollRatePerSecond()
Specified by:
getMaximumPollRatePerSecond in interface WorkerBase

setMaximumPollRatePerSecond

public void setMaximumPollRatePerSecond(double maximumPollRatePerSecond)
Specified by:
setMaximumPollRatePerSecond in interface WorkerBase

getMaximumPollRateIntervalMilliseconds

public int getMaximumPollRateIntervalMilliseconds()
Specified by:
getMaximumPollRateIntervalMilliseconds in interface WorkerBase

setMaximumPollRateIntervalMilliseconds

public void setMaximumPollRateIntervalMilliseconds(int maximumPollRateIntervalMilliseconds)
Specified by:
setMaximumPollRateIntervalMilliseconds in interface WorkerBase

getUncaughtExceptionHandler

public Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()
Specified by:
getUncaughtExceptionHandler in interface WorkerBase

setUncaughtExceptionHandler

public void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)
Specified by:
setUncaughtExceptionHandler in interface WorkerBase

getIdentity

public String getIdentity()
Specified by:
getIdentity in interface WorkerBase

setIdentity

public void setIdentity(String identity)
Specified by:
setIdentity in interface WorkerBase

getPollBackoffInitialInterval

public long getPollBackoffInitialInterval()
Specified by:
getPollBackoffInitialInterval in interface WorkerBase

setPollBackoffInitialInterval

public void setPollBackoffInitialInterval(long backoffInitialInterval)
Specified by:
setPollBackoffInitialInterval in interface WorkerBase

getPollBackoffMaximumInterval

public long getPollBackoffMaximumInterval()
Specified by:
getPollBackoffMaximumInterval in interface WorkerBase

setPollBackoffMaximumInterval

public void setPollBackoffMaximumInterval(long backoffMaximumInterval)
Specified by:
setPollBackoffMaximumInterval in interface WorkerBase

isDisableServiceShutdownOnStop

public boolean isDisableServiceShutdownOnStop()
Specified by:
isDisableServiceShutdownOnStop in interface WorkerBase
See Also:
setDisableServiceShutdownOnStop(boolean)

setDisableServiceShutdownOnStop

public void setDisableServiceShutdownOnStop(boolean disableServiceShutdownOnStop)
By default when @{link shutdown() or @{link shutdownNow() is called the worker calls AmazonSimpleWorkflow.shutdown() on the service instance it is configured with before shutting down internal thread pools. Otherwise threads that are waiting on a poll request might block shutdown for the duration of a poll. This flag allows disabling this behavior.

Specified by:
setDisableServiceShutdownOnStop in interface WorkerBase
Parameters:
disableServiceShutdownOnStop - true means do not call AmazonSimpleWorkflow.shutdown()

getPollBackoffCoefficient

public double getPollBackoffCoefficient()
Specified by:
getPollBackoffCoefficient in interface WorkerBase

setPollBackoffCoefficient

public void setPollBackoffCoefficient(double backoffCoefficient)
Specified by:
setPollBackoffCoefficient in interface WorkerBase

getPollThreadCount

public int getPollThreadCount()
Specified by:
getPollThreadCount in interface WorkerBase

setPollThreadCount

public void setPollThreadCount(int threadCount)
Specified by:
setPollThreadCount in interface WorkerBase

start

public void start()
Specified by:
start in interface WorkerLifecycle

shutdown

public void shutdown()
Specified by:
shutdown in interface WorkerLifecycle

shutdownNow

public void shutdownNow()
Specified by:
shutdownNow in interface WorkerLifecycle

awaitTermination

public boolean awaitTermination(long timeout,
                                TimeUnit unit)
                         throws InterruptedException
Specified by:
awaitTermination in interface WorkerLifecycle
Throws:
InterruptedException

shutdownAndAwaitTermination

public boolean shutdownAndAwaitTermination(long timeout,
                                           TimeUnit unit)
                                    throws InterruptedException
Specified by:
shutdownAndAwaitTermination in interface WorkerLifecycle
Throws:
InterruptedException

toString

public String toString()
Overrides:
toString in class Object

isRunning

public boolean isRunning()
Specified by:
isRunning in interface WorkerBase

suspendPolling

public void suspendPolling()
Specified by:
suspendPolling in interface Suspendable

resumePolling

public void resumePolling()
Specified by:
resumePolling in interface Suspendable


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.