package jgtest; import java.util.concurrent.locks.Lock; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jgroups.JChannel; import org.jgroups.blocks.locking.LockService; public class JGTest { private static final Logger LOG = LogManager.getLogger(); private static JChannel channel; public static void main(String[] args) throws Exception { LOG.info("JGTest start"); channel = new JChannel("./cfg/jgroups/tcp_lock.xml"); channel.setName("test"); channel.connect("test"); LockService ls = new LockService(channel); for (int i=0; i<1000; i++) { Lock lock = ls.getLock("foo"); System.out.println("Loop 1-#" + i); if (lock.tryLock()) { lock.unlock(); Thread.sleep(1); } } for (int i=0; i<1000; i++) { Lock lock = ls.getLock("foo"); System.out.println("Loop 2-#" + i); if (lock.tryLock()) { lock.unlock(); } } } }