【发布时间】:2014-11-17 09:25:50
【问题描述】:
我正在使用适用于 Java 的 AWS SWF Flow 框架,我想在 worker 中注入一个 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 实现中访问它。您对我如何实现这一目标有任何想法吗?
【问题讨论】:
-
您想获取在工作流执行中实际在工作流上工作的工作流工作者的 ID?或者您想在工作流执行期间获得
workflowExecutionId或runId?您在这里的工作流范围内,而不是实际的工作流工作者。 -
我想获取在工作流执行中实际在工作流上工作的工作流工作者的 ID。我知道范围是不同的,但我认为也许有一种聪明的方法可以得到它。
标签: java amazon-web-services amazon-swf