com.atlassian.confluence.search.contentnames
Class SemaphoreHolder

java.lang.Object
  extended by com.atlassian.confluence.search.contentnames.SemaphoreHolder

public class SemaphoreHolder
extends java.lang.Object

Holds the semaphore used to enforce a limit on the number of simultaneous quick nav searches. The purpose of this holder is to front the actual semaphore that does all the work. We need a front so as to have the ability to swap in another semaphore when the user decides to change the default limit. This is because we cannot increase the number of permits on the JDK Semaphore class.


Constructor Summary
SemaphoreHolder(SettingsManager settingsManager)
           
 
Method Summary
 java.util.concurrent.Semaphore getSemaphore()
          Returns the semaphore held.
 void refreshSemaphore()
          Update the underlying semaphore to the size of Settings.maxSimultaneousQuickNavRequests.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SemaphoreHolder

public SemaphoreHolder(SettingsManager settingsManager)
Method Detail

getSemaphore

public java.util.concurrent.Semaphore getSemaphore()
Returns the semaphore held. Clients should call this for each attempt at acquiring a permit (so as to get the latest one configured for this instance of Confluence).

Returns:
the underlying semaphore.

refreshSemaphore

public void refreshSemaphore()
Update the underlying semaphore to the size of Settings.maxSimultaneousQuickNavRequests.



Copyright © 2003-2013 Atlassian. All Rights Reserved.