DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=32143>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=32143 [PATCH] Lock Framework - allows custom lock mechanism Summary: [PATCH] Lock Framework - allows custom lock mechanism Product: Lucene Version: unspecified Platform: All OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: Store AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Proposal: Pluggable Lock Framework for Lucene Date: Nov 2004 Developer: Jeff Patterson (jeffATwebdoyen.com - http://www.webdoyen.com) ------ Abstract: A framework to allow Lucene users to override the default FileSystem locking mechanism with a custom lock mechanism. A Lucene user may develop a new class that extends org.apache.lucene.store.Lock and implement bodies for the following methods: public boolean obtain() - to obtain custom lock public boolean isLocked() - to detect custom lock public void release() - to release custom lock NOTE: When implementing these methods, the developer should make sure to use the this.getLockName() method on the Lock to identify which lock is being manipulated (see Modified Files below for more). After developed, the new class must be added to the classpath (along with any other supporting classes/libraries needed by the new class), and the Lucene framework must be alerted of the new class by way of the "org.apache.lucene.lockClass" -D System property. Example: java -Dorg.apache.lucene.lockClass=foo.MyCustomLocker LuceneTest ------ Modified Files: The following files were modified to support this framework (DIFF files at end): - org.apache.lucene.store.Lock The member "lockName" and an accompanying protected getter and setter were added to this class to support naming the lock. This is transparent to the default lock mechanism and is only useful when writing a custom lock. - org.apache.lucene.store.FSDirectory Instead of instantiating a default Lock, this class now checks to see if an overridden Lock mechanism is provided, and if so asks the LockFactory (see below) to provide an overridden Lock class. New Files: The following files were added to support this framework: - org.apache.lucene.store.LockFactory This class is used to reflect and instantiate by name the custom Lock implementation. Error handing should be modified in this class, but that would have required a more extensive code overhaul. The javadocs for the LockFactory contain a skeleton Java file for a custom lock implementation. ------ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]