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