public abstract class StickySessionServerSelector extends java.lang.Object implements ServerSelector
ServerSelector
interface providing selection of the same server for all
requests in a user session.Modifier and Type | Class and Description |
---|---|
protected static class |
StickySessionServerSelector.Context |
Modifier and Type | Field and Description |
---|---|
protected SessionUrlsHolder |
anonymousSessionUrlsHolder |
protected java.util.Set<java.lang.String> |
failedUrls |
protected java.lang.String |
id |
protected java.lang.ThreadLocal<java.util.List<java.lang.String>> |
lastNoSessionUrls |
protected java.util.function.Consumer<java.util.List<java.lang.String>> |
serverSorter |
protected java.lang.String |
servletPath |
NAME
Constructor and Description |
---|
StickySessionServerSelector() |
Modifier and Type | Method and Description |
---|---|
void |
fail(java.lang.Object context)
Mark the last obtained server URL as failed.
|
java.lang.String |
getServletPath() |
protected SessionUrlsHolder |
getSessionUrlsHolder() |
java.lang.String |
getUrl(java.lang.Object context)
Get server URL to be used for the current request.
|
abstract java.util.List<java.lang.String> |
getUrls()
Must be implemented in concrete classes to return a list of available servers.
|
java.lang.Object |
initContext()
Initialize a context for the current request.
|
void |
setAnonymousSessionUrlsHolder(SessionUrlsHolder anonymousSessionUrlsHolder) |
void |
setSelectorId(java.lang.String id) |
void |
setServerSorter(java.util.function.Consumer<java.util.List<java.lang.String>> serverSorter) |
void |
setServletPath(java.lang.String servletPath) |
void |
success(java.lang.Object context)
Mark the last obtained server URL as successfully invoked.
|
protected java.lang.String servletPath
protected java.util.function.Consumer<java.util.List<java.lang.String>> serverSorter
protected SessionUrlsHolder anonymousSessionUrlsHolder
protected java.lang.String id
protected java.util.Set<java.lang.String> failedUrls
protected java.lang.ThreadLocal<java.util.List<java.lang.String>> lastNoSessionUrls
public java.lang.String getServletPath()
public void setServletPath(java.lang.String servletPath)
public void setServerSorter(java.util.function.Consumer<java.util.List<java.lang.String>> serverSorter)
public void setAnonymousSessionUrlsHolder(SessionUrlsHolder anonymousSessionUrlsHolder)
public void setSelectorId(java.lang.String id)
public abstract java.util.List<java.lang.String> getUrls()
public java.lang.Object initContext()
ServerSelector
initContext
in interface ServerSelector
ServerSelector.getUrl(Object)
, ServerSelector.success(Object)
and ServerSelector.fail(Object)
for the current request@Nullable public java.lang.String getUrl(java.lang.Object context)
ServerSelector
getUrl
in interface ServerSelector
context
- obtained by the prior invocation of ServerSelector.initContext()
public void success(java.lang.Object context)
ServerSelector
success
in interface ServerSelector
context
- obtained by the prior invocation of ServerSelector.initContext()
public void fail(java.lang.Object context)
ServerSelector
fail
in interface ServerSelector
context
- obtained by the prior invocation of ServerSelector.initContext()
@Nullable protected SessionUrlsHolder getSessionUrlsHolder()