Fork me on GitHub

Sorry for the long delay on Onyx-Java progress! We went pretty far along a direction that turned out to generate more edges case the longer we went. So we inverted our approach. Here’s the repo: Basically our aim is to stay out of the way of doing coercion’s by maintaining valid IPersistentMap’s and PersistentVectors that have the right clj-native objects in them and presente sensible interfaces on the Java side. We offload the semantic correctness of the returned map to job runtime. We can always add them as a cross-cutting concern in a clean way due to the object hierarchy later. Mainly this prevents a ton of conversion edge cases since there are a lot of valid things that can go in maps lifecycles/windows/etc that aren’t just a keyword to keyword mapping.


We are re-writing the tests so that part is a mess at the moment. Those should be cleaned up in a couple of days


I’m also going to start working on the instance binding approach which is mostly just filled with comments and thoughts at the moment! 😉


I you have questions u can always direct-slack me or email me at <mailto:[email protected]|[email protected]>


I’d love to get some feedback!


Also, @rberkheimer is the co-author! Welcome to the Onyx slack channel! 😉


Thanks @georgek & @rberkheimer! This is awesome work! Thanks for your contribution. 🙂


In a meeting right now, I’ll take a closer look tonight!


Awesome! Thanks!


@georgek looks awesome! Would you consider having addFlowConditions/addLifecycle/et al return the job itself, so you can use it in a fluent style?


e.g. myjob.addLifecycle(lf1).addLifecycle(lf2);


sure! 🙂


Nice to finally have a proper Java API. This is wonderful work you’ve both done. 🙂 I’ll post on the usual locations when it’s ready to be merged.