我正在使用适用于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实现中访问它。你对我如何实现这一点有什么想法吗?
答案 0 :(得分:1)
我不会想到你想要做的事情是可能的,而且我认为这是出于设计的方式。在工作流的上下文中,哪个特定工作者选择任务并不重要,因为一个任务列表上的所有工作者应该表现相同。在工作流程之外,您可以在ActivityTaskStartedEventAttributes。
中找到它