https://central.sonatype.com/artifact/org.crac/crac
https://javadoc.io/doc/org.crac/crac/latest/index.html
The org.crac is designed to provide smooth CRaC adoption.
Users of the library can build against and use CRaC API on Java runtimes with jdk.crac, javax.crac, or without any implementation.
- In compile-time,
org.cracpackage totally mirrorsjdk.cracandjavax.crac. - In runtime, org.crac uses reflection to detect CRaC implementation.
If the one is available, all requests to
org.cracare passed to the implementation. Otherwise, requests are forwarded to a dummy implementation.
The dummy implementation allows an application to run but not to use CRaC:
- resources can be registered for notification,
- checkpoint request fails with an exception.