Published Sep 3, 2019

Episode 22: Feedback

Robert Blumen delves into listener feedback on model-driven development and software documentation, explores Java's Rife framework with continuations for enhanced flow management, and examines double-checked locking's interplay with the Java Memory Model, spotlighting `volatile` for thread safety.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Rife Framework

    The Rife framework integrates continuations into Java, allowing developers to manage complex web application flows with ease. explains that Rife enables developers to insert pause method calls, capturing the local state and program location, which can then resume automatically upon the next request 1. This is achieved by modifying the bytecode to maintain a method call stack and a variable stack, stored by a continuation manager 1.

    Continuations are part of the Rife framework, which is a web application framework to allow you to easily express complex flows, control flows, in your web application natively.

    ---

    This approach allows seamless functionality, such as using the back button, by assigning unique IDs to each continuation step 1.

       

    Cloning Mechanism

    The cloning mechanism within the Rife framework is crucial for managing continuations effectively. notes that Rife implements default cloning behaviors, minimizing the need for programmers to intervene unless dealing with complex classes 2. For large local variable states, developers can opt not to clone, using a configuration flag to maintain the same state across continuations 2.

    Rive implements a whole number of default behaviors with regards to cloning, so in most situations you don't have to do anything as a programmer.

    ---

    This flexibility is further enhanced by efforts to extract the continuation functionality into a dedicated library, broadening its applicability beyond Rife 2.

Related Episodes