What if you could go back in time when an app running in the cloud, servicing a request and inject new code into the flow that augments a simulated reality.
Imagine writing a method invocation interceptor class that is called within a process when a method is invoked by a thread. This is something that has been possible for sometime using various frameworks, such as Spring and JEE/CDI, and AOP technologies, such as AspectJ. Now imagine that same interceptor class is able to intercept method invocations across multiple Java runtimes and threads and not actually be present within each of the runtimes without a single line of code change – a mirrored runtime down to the thread and call stack as well as some environment state. Now lets go even further and imagine the very same interception class being able to receive the same call backs within the same mirrored threads from a past recording, that can be repeatedly run. Again no changes though the space and time aspects of the entire environment has changed. That is exactly what plays out in the video demonstration. The power of this is not just in the distribution of the interception across multiple machines but in the ability to go back in time in the execution of software and augment it with future capabilities.