{"id":85,"date":"2010-12-11T16:07:50","date_gmt":"2010-12-11T23:07:50","guid":{"rendered":"http:\/\/sloanseaman.com\/wordpress\/?p=85"},"modified":"2010-12-11T16:14:17","modified_gmt":"2010-12-11T23:14:17","slug":"85","status":"publish","type":"post","link":"http:\/\/sloanseaman.com\/wordpress\/2010\/12\/11\/85\/","title":{"rendered":"jLockit"},"content":{"rendered":"<p>I&#8217;ve done many projects where I needed some sort of locking architecture for my objects.  Be it just determining if someone other than the current user should be able to operate on the object at a specific time or more global, like making sure only one user can use a certain part of a system at a time.<\/p>\n<p\/>\nI&#8217;ve also been interviewing for a job a lot since being laid off from my current position (from a great company BTW, sad to go) and the number one thing I get asked about is the locking architecture I wrote in my free time over a weekend and brought to the company.<\/p>\n<p\/>\nSo, I present to you, <a href=\"http:\/\/sloanseaman.com\/wordpress\/?page_id=68\">jLockit<\/a>.  <\/p>\n<p\/>\njLockit is a small architecture I wrote for object locking.  I searched the internet for something like this and all I really could find was database row locking ideas or something along those lines.  Nothing really addressed locking an object based on memory locks and in a way that could be distributed (thanks EhCache!).  jLockit is my version of a system that will allow the easy locking of an object, global locks, and a framework for work flow based on lock status.<\/p>\n<p\/>\nI hope to have the time to maybe implement a Java Annotation version that would make it more lightweight (and would be great for work flow) but who knows when that time will be (just a heads up).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve done many projects where I needed some sort of locking architecture for my objects. Be it just determining if someone other than the current user should be able to operate on the object at a specific time or more &hellip; <a href=\"http:\/\/sloanseaman.com\/wordpress\/2010\/12\/11\/85\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,10],"tags":[],"_links":{"self":[{"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/posts\/85"}],"collection":[{"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/comments?post=85"}],"version-history":[{"count":4,"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/posts\/85\/revisions"}],"predecessor-version":[{"id":89,"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/posts\/85\/revisions\/89"}],"wp:attachment":[{"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/media?parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/categories?post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/sloanseaman.com\/wordpress\/wp-json\/wp\/v2\/tags?post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}