Stateful Web Primitives
This is a Java SDK for a collection of stateful web primitives at www.stateful.co.
For example, you need a lock available online and shared among multiple processes running on different nodes in the network. Here is how you do it in Java, using this SDK:
import co.stateful.Counter; import co.stateful.Counters; import co.stateful.Sttc; import co.stateful.RtSttc; import com.jcabi.urn.URN; public class Main { public static void main(String... args) throws Exception { Sttc sttc = new RtSttc( new URN("urn:github:526301"), "9FF3-41E0-73FB-F900" ); Lock lock = sttc.locks().get("my-test-lock"); new Atomic<Void>( new Callable<Void>() { @Override public Void call() { System.out.println("this call is synchronized"); } }, lock ).call(); } }
The only dependency you need is (you can also download java-sdk-0.15.jar and add it to the classpath):
<dependency> <groupId>co.stateful</groupId> <artifactId>java-sdk</artifactId> <version>0.15</version> </dependency>
If you want to use current version of the product, you can do it with this configuration in your pom.xml:
<repositories> <repository> <id>oss.sonatype.org</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> </repository> </repositories> <dependencies> <dependency> <groupId>co.stateful</groupId> <artifactId>java-sdk</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>