[ http://issues.apache.org/jira/browse/LUCENE-305?page=all ]
Yonik Seeley closed LUCENE-305.
-------------------------------
Fix Version/s: 2.0.1
Resolution: Duplicate
Assignee: Yonik Seeley (was: Lucene Developers)
> [PATCH] Lock Framework - allows custom lock mechanism
> -----------------------------------------------------
>
> Key: LUCENE-305
> URL: http://issues.apache.org/jira/browse/LUCENE-305
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Store
> Affects Versions: unspecified
> Environment: Operating System: other
> Platform: All
> Reporter: Jeff Patterson
> Assigned To: Yonik Seeley
> Priority: Minor
> Fix For: 2.0.1
>
> Attachments: FSDirectory.java, FSDirectory_patch_file.txt, Lock.java,
> Lock_patch_file.txt, LockFactory.java, MySQLLocker.java
>
>
> 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.
> ------
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]