Abstract

Some quick examples of how to use and abuse the new ActiveObjects plugin data storage library; with some interesting things that have been exposed in the products to enable it to work. I'll try to highlight the patterns and pitfalls we've encountered while trying it out during it's development.

  • No labels

6 Comments

  1. Hey Dan,

    have you tried the most recent version of the plugin yet?

    1. As we speak!

      Am working on getting it to power the Statistical Analysis Plugin. While I know AO isn't built to service this scale, it'll be a good litmus test of it's limits. Stats also does it's storage queue processing in the background, so there's a variety of aspects it'll exercise.

      I'll feedback here as I get results.

      1. This is great! Exactly what we need to validate ActiveObjects and the plugin as the right choice going forward.

        Any other developers interested in playing with the ActiveObjects plugin before I introduce it at AtlasCamp, let me know…

  2. Hey Dan,

    I know you've been working on this after talking to you about it at Summit, but I wasn't aware of a release.

    Is this the location? https://labs.atlassian.com/wiki/display/AO

    thanks!

    1. Actually, it's here.

      https://studio.atlassian.com/browse/AO

      At Atlascamp we'll have a long presentation on where we're up to, and an EAP available for developers to play with. However, I'll caution that it's a long way from finished.

  3. Hi,

    I am wondering if there is a way to persist a graph of objects with AO.

    With an Entity Manager implemented as per the Java EE specification I can call

    
    Graph graph =  new Graph();
    
    graph.setDependencies(new List\[\]{"a","b","c"}); //Lets pretend this is Java 8\!
    
    entityManager.save(graph);
    
    

    In this scenario, graph and all its dependencies are saved and end up in the persistence context. Proxies are created for all these objects so they can later be updated inside the transaction.

    In AO the data objects we declare need to be interfaces and they are constructed using entityManager.createNew(Graph.class). Does that mean we need to create extra DTO objects to pass all the values to the method and then create the objects with the EntityManager and then save each of them individually?