aws / aws-swf-flow-library

AWS Simple Workflow Flow framework library
Apache License 2.0
61 stars 54 forks source link

Compile? #15

Open msollicito opened 7 years ago

msollicito commented 7 years ago

Has anyone actually gotten this aws swf flow library to compile and run?

msollicito commented 7 years ago

I get this error Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at com.amazonaws.services.simpleworkflow.flow.examples.booking.ActivityHost.main(ActivityHost.java:44)
msollicito commented 7 years ago

and a ton of Problems image

mathomas commented 7 years ago

You know, when we were exploring the possibility of using SWF and related tech, we got the distinct impression that it was an end-of-life product and very poorly supported and documented (I mean, look at the PRs just sitting there, and the issues unaddressed). Not too long after we came to this conclusion, Amazon released "Step Functions". I think the handwriting is on the wall, but am happy to be corrected.

omnipitous commented 7 years ago

@mathomas SO... Step Functions are technically build on top of SWF. AWS also uses SWF to manage ALL of EC2/CloudFormation so SWF isn't going anywhere anytime soon. 1 more thing: When presented with new-shiny Step Functions we had multiple conversations with the SWF team about whether we should be trying to convert out extensive SWF code to Step Functions and we were explicitly told to stay with SWF. They really serve 2 different purposes and target audiences. As for how the libraries have fallen behind... those are more conversations we need to have with AWS. The Core SWF code in the Flow Framework has a "current" release but this library (which is a side library) has grown idle and they promised it was still being maintained despite no clear evidence to support that. The only bug that is significantly impacting our operations is the Down Scaling / SIGINT-handling bug where some percentage of the time a SIGINT will throw a dirty exception instead of passing along to your Handler so in-progress work might get stranded on the Activity Instance on Scale Down. For your typical SWF implementation that's not that bad an issue since the Activity call will just timeout and get retried.. we just have an issue because one of our Activities has an hours long timeout so is less tolerant of hitting that. (Problem temp solved by not auto-scaling that particular activity type)

mathomas commented 7 years ago

Happy to be corrected :-). It seemed to us when we were evaluating SWF that people were very quietly suffering in their cubes and somehow making it work, since there was very little recent chatter about it, and very little development activity that we could detect (compared to many other AWS/etc tech). That combined with the lack of decent documentation, even on AWS' site (which is usually great), led us to wonder what was up. IIRC that documentation hints very strongly to consider using this library right here, that the guy above can't seem to build.

Anyway, we finally kind-of got some stuff working, but the project was canceled before we became proficient (maybe that was a good thing).

joezen777 commented 7 years ago

Look at this repository if you're looking to get things working with Maven. I think it's telling that the samples provided by AWS use Ant build scripts and not any of the build methods defined in their documentation. https://github.com/pedropaulovc/aws-flow-maven-eclipse-samples

If you get confused like me on trying to figure out why all the SWF documentation appears to be written like how the Ruby SDK is written but the Java documentation uses the same words as the RubySDK but the design is totally different then this discussion thread may prove useful, especially the third comment down. https://news.ycombinator.com/item?id=11092329

Jianchu commented 6 years ago

@msollicito Seems like you are missing the maven dependencies. In your eclipse, did you convert your project to maven project?