AWS SWF:在工作流实施中获取工作者身份

时间:2014-11-17 09:25:50

标签: java amazon-web-services amazon-swf

我正在使用适用于Java的AWS SWF Flow框架,我想在工作人员中注入一个Logentries Logger,以便我可以轻松监控它们。

现在我在每个Workflow实现中实例化一个Logback记录器实例,为其提供实现标识。但是,我也想知道正在运行实现的工作者。

public class CopyWorkflowImpl implements CopyWorkflow {
private Logger log; 
private CopyActivitiesClient operations = new CopyActivitiesClientImpl();

public CopyWorkflowImpl(){
    //TODO: somehow get worker ID ?
    log = LoggerFactory.getLogger("CopyWorkflowWorker");
}

我可以看到WorkflowWorker类完全具有getIdentity方法,但是,我似乎无法在Workflow实现中访问它。你对我如何实现这一点有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不会想到你想要做的事情是可能的,而且我认为这是出于设计的方式。在工作流的上下文中,哪个特定工作者选择任务并不重要,因为一个任务列表上的所有工作者应该表现相同。在工作流程之外,您可以在ActivityTaskStartedEventAttributes

中找到它