Ok, it's working like I thought you intended. We need to make a change, otherwise multiple threads will step all over each other using that same singleton bean from the context. I think your suggestion of having build return a data type with result-specific data seems reasonable.