如何使用Amazon SWF

时间:2012-02-22 10:03:33

标签: amazon-web-services amazon-swf

Amazon SWF今天推出。如何最好地使用Java / PHP /等?

当前的SDK支持似乎不包含它。我知道它是新的,但是有没有人有关于如何使用它的任何好资源,或者我需要在以下任何SDK中实现哪些更改才能立即开始使用?

就个人而言,我对Java& PHP SDK的......

更新的版本可在以下网址查看:http://aws.amazon.com/releasenotes感谢Bjorn!

5 个答案:

答案 0 :(得分:4)

这是一个适用于Java8(JDK8)和编译时编织的最新答案。

问题是maven编译器可以执行注释处理。如果它打开并且是aspectj,您将尝试双重创建相同的类。 最好离开maven编译器来处理注释(生成工作流/活动类),因为aspectJ需要它们创建,以便它可以进行编织(@Retry @Async)

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>       <!-- use this goal to weave all your main classes -->
                        <goal>test-compile</goal>  <!-- use this goal to weave all your test classes -->
                    </goals>
                </execution>
            </executions>
            <configuration>
                <complianceLevel>1.8</complianceLevel>
                <showWeaveInfo>true</showWeaveInfo>
                <verbose>true</verbose>
                <source>1.8</source>
                <target>1.8</target>
                <aspectLibraries>
                    <aspectLibrary>
                        <groupId>com.amazonaws</groupId>
                        <artifactId>aws-java-sdk-swf-libraries</artifactId>
                    </aspectLibrary>
                </aspectLibraries>
          <!-- This is important so we don't double process the annotations -->
                <proc>none</proc>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <verbose>true</verbose>
                <fork>true</fork>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

答案 1 :(得分:3)

您今天检查了更新的SDK吗?大约10个小时前发布了一个新版本(至少.NET 1.4.3,2012年2月21日发布)。

http://aws.amazon.com/releasenotes/.NET/5023081835314406

答案 2 :(得分:3)

几年后,这个线程帮助我做了很多工作,使AWS SWF Flow与Maven一起工作。但是,某些方面并没有采用这种方法开箱即用。我写了an article来集中所有的发现。 PS:会喜欢一些使Java 1.8能够正常工作的技巧。

答案 3 :(得分:3)

对于那些读过这个的勇敢的灵魂: 大多数东西仍然适用。要使其与Java 1.8一起使用,您需要在AspectJ中使用以下方面库:

<aspectLibraries>
  <aspectLibrary>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-swf-libraries</artifactId>
  </aspectLibrary>
</aspectLibraries>

如需查看完整示例: https://github.com/mirceal/swf-flow-java18-sample

答案 4 :(得分:3)

我设法使JAVA8 / AWS SDK 1.9.x与Maven和Eclipse一起使用这个非凡的例子pedropaulovc/aws-flow-maven-eclipse-samples并调整pom.xml,包括勇敢的Mircea建议和其他reworks。

您可以找到生成的工作pom.xml here

请注意,我必须向aspectj插件方面库添加更新的flow-build-tools,否则,Activity和Workflow impl版本号注释无法正常工作

                <aspectLibraries>
                    <!-- for aspect weaving and swf versions -->
                    <aspectLibrary>
                        <groupId>com.amazonaws</groupId>
                        <artifactId>aws-java-sdk-swf-libraries</artifactId>
                    </aspectLibrary>
                    <aspectLibrary>
                        <groupId>com.amazonaws</groupId>
                        <artifactId>aws-java-sdk-flow-build-tools</artifactId>
                    </aspectLibrary>
                </aspectLibraries>

希望这可能有所帮助!