I wrote that example code from memory, but now that I think about it, you wouldn't call the lock method in the try block.
Call lock and if you're successful, entry a try block to do your work and have a finally to unlock and release the lock. On Thu, Jan 29, 2015 at 7:27 AM, Mike Tutkowski < mike.tutkow...@solidfire.com> wrote: > Does this work for you? > > GlobalLock lock = GlobalLock.getInternLock( > someStringYouMadeUpThatIsUniqueForThisPurpose); > > try { > > if (!lock.lock(timeoutInSeconds)) { > > s_logger.debug("Couldn't lock the db on the string > " + someStringYouMadeUpThatIsUniqueForThisPurpose); > > throw new CloudRuntimeException("Couldn't acquire DB > lock"); > > } > > // do your work > > } > > finally { > > lock.unlock(); > > lock.releaseRef(); > > } > > On Thu, Jan 29, 2015 at 3:32 AM, Jeff Hair <j...@greenqloud.com> wrote: > >> I have some code I've added to CloudStack that I am currently >> synchronizing on in the traditional manner (synchronized block, >> ExecutorService, etc). I'm currently running a single instance of >> CloudStack so I don't have to deal with clustering. >> >> I've read the Data Access Layer documentation and am wondering if the >> database locks are the actual appropriate solution rather than what >> I'm doing. >> >> Basically my issue is that I need to lock access to an IP address >> reserved to the account and perform some long operations on it. I also >> need to guarantee that no other IPs on the account are manipulated >> while performing this task. Synchronization accomplishes this because >> I can force the IP operations through an ExecutorService, but I'm >> really looking for a better solution that will also work with >> clustered management servers. >> >> Thanks, >> >> Jeff >> > > > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkow...@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the cloud > <http://solidfire.com/solution/overview/?video=play>*™* > -- *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud <http://solidfire.com/solution/overview/?video=play>*™*