Package org.apache.solr.request
Class SolrRequestInfo
- java.lang.Object
-
- org.apache.solr.request.SolrRequestInfo
-
public class SolrRequestInfo extends Object
Information about the Solr request/response held in aThreadLocal.
-
-
Field Summary
Fields Modifier and Type Field Description javax.servlet.http.HttpServletRequesthttpRequest
-
Constructor Summary
Constructors Constructor Description SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp)SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp, SolrDispatchFilter.Action action)SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp)SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCloseHook(Closeable hook)static voidclearRequestInfo()Removes the most recent SolrRequestInfo from the stack.SolrDispatchFilter.ActiongetAction()TimeZonegetClientTimeZone()The TimeZone specified by the request, or UTC if none was specified.static org.apache.solr.common.util.ExecutorUtil.InheritableThreadLocalProvidergetInheritableThreadLocalProvider()QueryLimitsgetLimits()Get the query limits for the current request.DategetNOW()SolrQueryRequestgetReq()static SolrRequestInfogetRequestInfo()ResponseBuildergetResponseBuilder()May return null if the request handler is not based on SearchHandlerSolrQueryResponsegetRsp()ThreadCpuTimergetThreadCpuTimer()Get the thread CPU time monitor for the current request.PrincipalgetUserPrincipal()static voidreset()This reset method is more of a protection mechanism as we expect it to be empty by now because all "set" calls need to be balanced with a "clear".voidsetAction(SolrDispatchFilter.Action action)static voidsetRequestInfo(SolrRequestInfo info)Adds the SolrRequestInfo onto a stack held in aThreadLocal.voidsetResponseBuilder(ResponseBuilder rb)voidsetUseServerToken(boolean use)booleanuseServerToken()Used when making remote requests to other Solr nodes from the thread associated with this request, true means the server token header should be used instead of the Principal associated with the request.
-
-
-
Constructor Detail
-
SolrRequestInfo
public SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp)
-
SolrRequestInfo
public SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
-
SolrRequestInfo
public SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp)
-
SolrRequestInfo
public SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
-
-
Method Detail
-
getRequestInfo
public static SolrRequestInfo getRequestInfo()
-
setRequestInfo
public static void setRequestInfo(SolrRequestInfo info)
Adds the SolrRequestInfo onto a stack held in aThreadLocal. Remember to callclearRequestInfo()!
-
clearRequestInfo
public static void clearRequestInfo()
Removes the most recent SolrRequestInfo from the stack. Close hooks are called.
-
reset
public static void reset()
This reset method is more of a protection mechanism as we expect it to be empty by now because all "set" calls need to be balanced with a "clear".
-
getUserPrincipal
public Principal getUserPrincipal()
-
getNOW
public Date getNOW()
-
getClientTimeZone
public TimeZone getClientTimeZone()
The TimeZone specified by the request, or UTC if none was specified.
-
getReq
public SolrQueryRequest getReq()
-
getRsp
public SolrQueryResponse getRsp()
-
getResponseBuilder
public ResponseBuilder getResponseBuilder()
May return null if the request handler is not based on SearchHandler
-
setResponseBuilder
public void setResponseBuilder(ResponseBuilder rb)
-
addCloseHook
public void addCloseHook(Closeable hook)
-
getLimits
public QueryLimits getLimits()
Get the query limits for the current request. This will trigger the creation of the (possibly empty)QueryLimitsobject if it has not been created, and will then return the same object on every subsequent invocation.- Returns:
- The
QueryLimitsobject for the current request.
-
getThreadCpuTimer
public ThreadCpuTimer getThreadCpuTimer()
Get the thread CPU time monitor for the current request. This will either trigger the creation of a new instance if it hasn't been yet created, or will retrieve the already existing instance from the "bottom" of the request stack.- Returns:
- the
ThreadCpuTimerobject for the current request.
-
getAction
public SolrDispatchFilter.Action getAction()
-
setAction
public void setAction(SolrDispatchFilter.Action action)
-
useServerToken
public boolean useServerToken()
Used when making remote requests to other Solr nodes from the thread associated with this request, true means the server token header should be used instead of the Principal associated with the request.
-
setUseServerToken
public void setUseServerToken(boolean use)
-
getInheritableThreadLocalProvider
public static org.apache.solr.common.util.ExecutorUtil.InheritableThreadLocalProvider getInheritableThreadLocalProvider()
-
-