类 RpcContext
- java.lang.Object
-
- com.alibaba.dubbo.rpc.RpcContext
-
public class RpcContext extends Object
Thread local context. (API, ThreadLocal, ThreadSafe)Note: RpcContext is a temporary state holder. States in RpcContext changes every time when request is sent or received. For example: A invokes B, then B invokes C. On service B, RpcContext saves invocation info from A to B before B starts invoking C, and saves invocation info from B to C after B invokes C.
- 另请参阅:
ContextFilter
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 voidasyncCall(Runnable runnable)one way async call, send request only, and result is not required<T> Future<T>asyncCall(Callable<T> callable)Async invocation.voidclearAttachments()Map<String,Object>get()get values.Objectget(String key)get value.Object[]getArguments()get arguments.StringgetAttachment(String key)get attachment.Map<String,String>getAttachments()get attachments.static RpcContextgetContext()get context.<T> Future<T>getFuture()get future.InvocationgetInvocation()已过时。Replace to getMethodName(), getParameterTypes(), getArguments()Invoker<?>getInvoker()已过时。Replace to getUrl()List<Invoker<?>>getInvokers()已过时。Replace to getUrls()InetSocketAddressgetLocalAddress()get local address.StringgetLocalAddressString()StringgetLocalHost()get local host.StringgetLocalHostName()get local host name.intgetLocalPort()get local port.StringgetMethodName()get method name.Class<?>[]getParameterTypes()get parameter types.InetSocketAddressgetRemoteAddress()get remote address.StringgetRemoteAddressString()get remote address string.StringgetRemoteHost()get remote host.StringgetRemoteHostName()get remote host name.intgetRemotePort()get remote port.ObjectgetRequest()Get the request object of the underlying RPC protocol, e.g.<T> TgetRequest(Class<T> clazz)Get the request object of the underlying RPC protocol, e.g.ObjectgetResponse()Get the response object of the underlying RPC protocol, e.g.<T> TgetResponse(Class<T> clazz)Get the response object of the underlying RPC protocol, e.g.static RpcContextgetServerContext()get server side context.URLgetUrl()List<URL>getUrls()booleanisClientSide()已过时。Replace to isConsumerSide()booleanisConsumerSide()is consumer side.booleanisProviderSide()is provider side.booleanisServerSide()已过时。Replace to isProviderSide()RpcContextremove(String key)remove value.RpcContextremoveAttachment(String key)remove attachment.static voidremoveContext()remove context.static voidremoveServerContext()remove server side context.RpcContextset(String key, Object value)set value.voidsetArguments(Object[] arguments)RpcContextsetAttachment(String key, String value)set attachment.RpcContextsetAttachments(Map<String,String> attachment)set attachmentsvoidsetFuture(Future<?> future)set future.RpcContextsetInvocation(Invocation invocation)RpcContextsetInvoker(Invoker<?> invoker)RpcContextsetInvokers(List<Invoker<?>> invokers)RpcContextsetLocalAddress(String host, int port)set local address.RpcContextsetLocalAddress(InetSocketAddress address)set local address.voidsetMethodName(String methodName)voidsetParameterTypes(Class<?>[] parameterTypes)RpcContextsetRemoteAddress(String host, int port)set remote address.RpcContextsetRemoteAddress(InetSocketAddress address)set remote address.voidsetRequest(Object request)voidsetResponse(Object response)voidsetUrl(URL url)voidsetUrls(List<URL> urls)
-
-
-
方法详细资料
-
getServerContext
public static RpcContext getServerContext()
get server side context.- 返回:
- server context
-
removeServerContext
public static void removeServerContext()
remove server side context.- 另请参阅:
ContextFilter
-
getContext
public static RpcContext getContext()
get context.- 返回:
- context
-
removeContext
public static void removeContext()
remove context.- 另请参阅:
ContextFilter
-
getRequest
public Object getRequest()
Get the request object of the underlying RPC protocol, e.g. HttpServletRequest- 返回:
- null if the underlying protocol doesn't provide support for getting request
-
getRequest
public <T> T getRequest(Class<T> clazz)
Get the request object of the underlying RPC protocol, e.g. HttpServletRequest- 返回:
- null if the underlying protocol doesn't provide support for getting request or the request is not of the specified type
-
setRequest
public void setRequest(Object request)
-
getResponse
public Object getResponse()
Get the response object of the underlying RPC protocol, e.g. HttpServletResponse- 返回:
- null if the underlying protocol doesn't provide support for getting response
-
getResponse
public <T> T getResponse(Class<T> clazz)
Get the response object of the underlying RPC protocol, e.g. HttpServletResponse- 返回:
- null if the underlying protocol doesn't provide support for getting response or the response is not of the specified type
-
setResponse
public void setResponse(Object response)
-
isProviderSide
public boolean isProviderSide()
is provider side.- 返回:
- provider side.
-
isConsumerSide
public boolean isConsumerSide()
is consumer side.- 返回:
- consumer side.
-
getFuture
public <T> Future<T> getFuture()
get future.- 类型参数:
T-- 返回:
- future
-
setFuture
public void setFuture(Future<?> future)
set future.- 参数:
future-
-
getUrl
public URL getUrl()
-
setUrl
public void setUrl(URL url)
-
getMethodName
public String getMethodName()
get method name.- 返回:
- method name.
-
setMethodName
public void setMethodName(String methodName)
-
getParameterTypes
public Class<?>[] getParameterTypes()
get parameter types.
-
setParameterTypes
public void setParameterTypes(Class<?>[] parameterTypes)
-
getArguments
public Object[] getArguments()
get arguments.- 返回:
- arguments.
-
setArguments
public void setArguments(Object[] arguments)
-
setLocalAddress
public RpcContext setLocalAddress(String host, int port)
set local address.- 参数:
host-port-- 返回:
- context
-
getLocalAddress
public InetSocketAddress getLocalAddress()
get local address.- 返回:
- local address
-
setLocalAddress
public RpcContext setLocalAddress(InetSocketAddress address)
set local address.- 参数:
address-- 返回:
- context
-
getLocalAddressString
public String getLocalAddressString()
-
getLocalHostName
public String getLocalHostName()
get local host name.- 返回:
- local host name
-
setRemoteAddress
public RpcContext setRemoteAddress(String host, int port)
set remote address.- 参数:
host-port-- 返回:
- context
-
getRemoteAddress
public InetSocketAddress getRemoteAddress()
get remote address.- 返回:
- remote address
-
setRemoteAddress
public RpcContext setRemoteAddress(InetSocketAddress address)
set remote address.- 参数:
address-- 返回:
- context
-
getRemoteAddressString
public String getRemoteAddressString()
get remote address string.- 返回:
- remote address string.
-
getRemoteHostName
public String getRemoteHostName()
get remote host name.- 返回:
- remote host name
-
getLocalHost
public String getLocalHost()
get local host.- 返回:
- local host
-
getLocalPort
public int getLocalPort()
get local port.- 返回:
- port
-
getRemoteHost
public String getRemoteHost()
get remote host.- 返回:
- remote host
-
getRemotePort
public int getRemotePort()
get remote port.- 返回:
- remote port
-
setAttachment
public RpcContext setAttachment(String key, String value)
set attachment.- 参数:
key-value-- 返回:
- context
-
removeAttachment
public RpcContext removeAttachment(String key)
remove attachment.- 参数:
key-- 返回:
- context
-
setAttachments
public RpcContext setAttachments(Map<String,String> attachment)
set attachments- 参数:
attachment-- 返回:
- context
-
clearAttachments
public void clearAttachments()
-
set
public RpcContext set(String key, Object value)
set value.- 参数:
key-value-- 返回:
- context
-
remove
public RpcContext remove(String key)
remove value.- 参数:
key-- 返回:
- value
-
isServerSide
@Deprecated public boolean isServerSide()
已过时。Replace to isProviderSide()
-
isClientSide
@Deprecated public boolean isClientSide()
已过时。Replace to isConsumerSide()
-
getInvokers
@Deprecated public List<Invoker<?>> getInvokers()
已过时。Replace to getUrls()
-
setInvokers
public RpcContext setInvokers(List<Invoker<?>> invokers)
-
getInvoker
@Deprecated public Invoker<?> getInvoker()
已过时。Replace to getUrl()
-
setInvoker
public RpcContext setInvoker(Invoker<?> invoker)
-
getInvocation
@Deprecated public Invocation getInvocation()
已过时。Replace to getMethodName(), getParameterTypes(), getArguments()
-
setInvocation
public RpcContext setInvocation(Invocation invocation)
-
asyncCall
public <T> Future<T> asyncCall(Callable<T> callable)
Async invocation. Timeout will be handled even ifFuture.get()is not called.- 参数:
callable-- 返回:
- get the return result from
future.get()
-
asyncCall
public void asyncCall(Runnable runnable)
one way async call, send request only, and result is not required- 参数:
runnable-
-
-