0

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

现在我在每个 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 实现中访问它。您对我如何实现这一目标有任何想法吗?

4

1 回答 1

1

我认为您尝试做的事情是不可能的,而且我认为这是设计使然。在工作流的上下文中,哪个特定工作人员接手任务并不重要,因为一个任务列表上的所有工作人员应该表现相同。在工作流之外,您可以在ActivityTaskStartedEventAttributes中找到它。

于 2014-12-08T02:26:07.593 回答