如何運行lucene中的鎖的測試實例LockVerifyServer和LockStressTest

 

LockVerifyServer:是一個簡單單機服務器,當你使用VerifyingLockFactory鎖時必須運行該服務器。其主要是確保在一個時刻最多隻有一個進程擁有該鎖。

          

LockStressTest:是一個簡單的獲取和釋放一個指定鎖的單機服務器。

在這兩個類裏只有一個main入口方法,下面我們來講講如何使這兩個服務器跑起來:

   LockVerifyServer需要傳入一個參數,進程端口號。可以在任務管理器中找到要監控的進程的PID號。

      LockVerifyServer.java文件上右擊——Debug As——Open Debug Dialog——

     

 

   LockStressTest

       Usage: java org.apache.lucene.store.LockStressTest myID verifierHostOrIP verifierPort lockFactoryClassName     lockDirName sleepTime

  myID = int from 0 .. 255 (should be unique for test process)
  verifierHostOrIP = host name or IP address where LockVerifyServer is running
  verifierPort = port that LockVerifyServer is listening on
  lockFactoryClassName = primary LockFactory class that we will use
  lockDirName = path to the lock directory (only set for Simple/NativeFSLockFactory
  sleepTimeMS = milliseconds to pause betweeen each lock obtain/release

You should run multiple instances of this process, each with its own
unique ID, and each pointing to the same lock directory, to verify
that locking is working correctly.

Make sure you are first running LockVerifyServer.

 

 從上面一段提示文字可以知道,傳入的6個參數分別爲:

     myID:標識ID,值爲0到255之間的數字

     verifierHostOrIP :LockVerifyServer服務器運行的主機名或IP地址

     verifierPort :LockVerifyServer監控的進程端口號

     lockFactoryClassName:LockFactory 實現類,如:org.apache.lucene.store.NativeFSLockFactory

     lockDirName :鎖目錄路徑,只有當使用SimpleFSLockFactory和NativeFSLockFactory兩種鎖時才需要設置,如:D:/DATAMANAGER/INDEX/SYS_3000 3000

     sleepTimeMS :鎖獲取和釋放的時間間隔(毫秒)

如:1 192.168.0.37 3752 org.apache.lucene.store.NativeFSLockFactory D:/DATAMANAGER/INDEX/SYS_3000 3000

     你必須運行LockStressTest程序的多個實例,它們都擁有唯一的ID,並且都指向相同的鎖目錄,確保鎖工作正常。

     必須確保先運行LockVerifyServer程序,然後再運行LockStressTest程序

    

    LockStressTest.java文件上右擊——Debug As——Open Debug Dialog——

     

 

 

     只要修改第一個參數值爲不同的值然後運行起來。這樣可以創建LockStressTest程序的多個實例。

     注意:sleepTimeMS 的時間間隔不能太短,避免出現在短時間內new的網絡連接太多,出現java.net.BindException: Address already in use: JVM_Bind的異常。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章