Java SWF-将输入参数发送到工作流
我有一个SWF工作流决策器,需要向其传递一组值。我已经有了一个类(POJO),它将所有这些作为实例变量。因此,我应该将POJO作为输入参数传递,还是传递各个字段Java SWF-将输入参数发送到工作流,java,amazon-web-services,amazon-swf,Java,Amazon Web Services,Amazon Swf,我有一个SWF工作流决策器,需要向其传递一组值。我已经有了一个类(POJO),它将所有这些作为实例变量。因此,我应该将POJO作为输入参数传递,还是传递各个字段 @Workflow @@WorkflowRegistrationOptions(....) public interface WorkerClass { @Execute(version = "1.0") void generate(String a, int b, List<String> c, String
@Workflow
@@WorkflowRegistrationOptions(....)
public interface WorkerClass {
@Execute(version = "1.0")
void generate(String a, int b, List<String> c, String d);
}
or
void generate(POJO pojo);
@工作流
@@工作流注册选项(…)
公共接口工作类{
@执行(version=“1.0”)
生成void(字符串a、int b、列表c、字符串d);
}
或
void生成(POJO-POJO);
波乔在哪里
class POJO {
private String a;
private int b;
private List<String> c;
private String d;
//Getter and setters
}
类POJO{
私人字符串a;
私人INTB;
私人名单c;
私有字符串d;
//二传手
}
哪一个最好
另外:我需要从SWF控制台运行它,作为一种通用的设计模式,我更喜欢通过POJO进行初始化,因为向它添加字段是向后兼容的。AWS流框架支持这两种方法。默认情况下,它用于序列化函数参数。您始终可以编写自己的代码,将工作流输入字符串字段解析到POJO结构中(并在@workflow annotation处指定),或者按照JSON转换器期望的方式指定参数。了解默认格式的最简单方法是使用生成的外部客户端启动工作流,然后查看工作流中的输入字段