[ 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]

Reply via email to