public class

SemaphoreHolder

extends Object
java.lang.Object
   ↳ com.atlassian.confluence.search.contentnames.SemaphoreHolder

Class Overview

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 java.util.concurrent.Semaphore class.

Summary

Public Constructors
SemaphoreHolder(SettingsManager settingsManager)
Public Methods
Semaphore getSemaphore()
Returns the semaphore held.
void refreshSemaphore()
Update the underlying semaphore to the size of com.atlassian.confluence.setup.settings.Settings#maxSimultaneousQuickNavRequests.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public SemaphoreHolder (SettingsManager settingsManager)

Public Methods

public 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.

public void refreshSemaphore ()

Update the underlying semaphore to the size of com.atlassian.confluence.setup.settings.Settings#maxSimultaneousQuickNavRequests.