Skip to content
@CRaC

CRaC

Coordinated Restore at Checkpoint

Coordinated Restore at Checkpoint (CRaC)

The CRaC (Coordinated Restore at Checkpoint) Project researches the coordination of Java programs with mechanisms to checkpoint (make an image of, snapshot) a Java instance while executing. Restoring from the image could solve some of the problems with the start-up and warm-up times. The primary aim of the Project is to develop a new standard mechanism-agnostic API to notify Java programs about the checkpoint and restore events. Other research activities will include, but will not be limited to, integration with existing checkpoint/restore mechanisms and development of new ones, changes to JVM and JDK to make images smaller and ensure they are correct.

Read More About CRaC

Using CRaC in your Application

Use the CRaC library in your project to handle checkpoint creation and restore from a checkpoint.

package my.app;

import org.crac.Context;
import org.crac.Core;
import org.crac.Resource;

public class MyClass implements Resource {

    public MyClass() {
        Core.getGlobalContext().register(this);
    }

    @Override
    public void beforeCheckpoint(Context<? extends Resource> context) {
        /* ... */
    }

    @Override
    public void afterRestore(Context<? extends Resource> context) {
        /* ... */
    }
}

Example Implementation Repositories

Popular repositories Loading

  1. docs docs Public

    Roff 230 13

  2. org.crac org.crac Public

    Java 44 6

  3. example-spring-boot example-spring-boot Public

    Java 33 14

  4. openjdk-builds openjdk-builds Public

    Java 31 2

  5. criu criu Public

    C 29 10

  6. example-lambda example-lambda Public

    Java 16 4

Repositories

Showing 10 of 28 repositories
  • CRaC/openjdk-builds’s past year of commit activity
    Java 31 GPL-2.0 2 2 0 Updated Dec 12, 2024
  • docker-build Public
    CRaC/docker-build’s past year of commit activity
    Dockerfile 0 2 0 0 Updated Dec 9, 2024
  • CRaC/example-spring-boot’s past year of commit activity
    Java 33 14 3 1 Updated Oct 9, 2024
  • quarkus-old Public
    CRaC/quarkus-old’s past year of commit activity
    Java 1 Apache-2.0 2 0 10 Updated Sep 11, 2024
  • CRaC/example-xml-transform’s past year of commit activity
    Java 0 1 0 0 Updated Sep 10, 2024
  • crac-enforcer-rule Public

    Custom Maven Enforcer rule that helps identifying dependencies with CRaC-enhanced versions

    CRaC/crac-enforcer-rule’s past year of commit activity
    Java 0 0 0 0 Updated Sep 6, 2024
  • agroal Public Forked from agroal/agroal

    A fork of Agroal suitable for use with OpenJDK CRaC

    CRaC/agroal’s past year of commit activity
    Java 0 44 0 0 Updated Sep 6, 2024
  • vert.x Public Forked from eclipse-vertx/vert.x

    A fork of Vert.x suitable for use with OpenJDK CRaC

    CRaC/vert.x’s past year of commit activity
    Java 1 2,105 0 1 Updated Sep 5, 2024
  • vertx-sql-client Public Forked from eclipse-vertx/vertx-sql-client

    A fork of Vert.x SQL client suitable for use with OpenJDK CRaC

    CRaC/vertx-sql-client’s past year of commit activity
    Java 0 Apache-2.0 201 0 0 Updated Sep 5, 2024
  • CRaC/example-lambda’s past year of commit activity
    Java 16 4 3 2 Updated Jul 12, 2024

Top languages

Loading…

Most used topics

Loading…