Skip to content

Actors: support "hot method replace" for debugging/development  #13

Open
@dgrove-oss

Description

Liberty can detect changes to class files and automatically unload/reload the associate web application:

Changes to servlets and related classes
If you change a servlet and save the file while the server is running, the servlet is reloaded, if you enable reloading for that application. When the server runs hot method replace1, the changes take place automatically without needing to refresh the browser. The server recognizes the change when publishing the application on the server. If you refresh the web browser, the state of the application is not lost.

When the servlet is currently connected to a sidekar, common state such as the existence of specific actor instances between Kar and Java is no longer consistent. The only way to make them consistent again is for Kar to clean up all actor state as well on servlet reload.

For example, on startup the servlet could make a request to Kar to clean actor state.

Activity

dgrove-oss

dgrove-oss commented on Sep 9, 2021

@dgrove-oss
MemberAuthor

Same general issue applies to Quarkus when running in dev mode. The application server will load new versions of actor code in the running process; we need to update the ActorManager's state appropriately so future invokes will use the new code.

changed the title Add support for liberty "hot method replace" Actors: support "hot method replace" for debugging/development on Sep 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Actors: support "hot method replace" for debugging/development · Issue #13 · IBM/kar