This page is no more maintained, the current one is at http://www.tiian.org/flom/libflom/libflom_for_Java_developers.html
FLoM API is very easy to understand and use; these are the basic concepts:
FLoM Java API is tested with these Java versions: 6, 7, 8; the JVM implementation used for development and test is OpenJDK
Basic.java example can be considered the hello world FLoM equivalent for static programming style:
1. allocate a FlomHandle object on the stack declaring it
2. synchronize your program using method lock()
3. do everything your program must perform inside the synchronization window
5. desynchronize your program using method unlock()
The source code is installed in doc/examples/java directory (typically /usr/local/share/doc/flom/examples/java); look inside the source code to retrieve build and execution information.
The Basic example do not explain as you can specify the name of the logical resource, the quantity of a numerical resource and the other parameters you typically use with flom command line.
Advanced.java example shows how some properties can be set before entering in the synchronization phase.
The complete list of the available setter/getter methods can be retrieved from:
Some resources, for example unique sequences, can be declared as transactional.
A transactional resource has an associated state and it needs an explicit unlock to commit the state.
If a transactional resource is not committed due to a program crash, the state will be rolled back.
Method unlockRollback has been introduced to force a state rollback during the unlock phase, even if a program does not crash.
An example is available in this source code: Transactional.java.