类 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
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 void
asyncCall(Runnable runnable)
one way async call, send request only, and result is not required<T> Future<T>
asyncCall(Callable<T> callable)
Async invocation.void
clearAttachments()
Map<String,Object>
get()
get values.Object
get(String key)
get value.Object[]
getArguments()
get arguments.String
getAttachment(String key)
get attachment.Map<String,String>
getAttachments()
get attachments.static RpcContext
getContext()
get context.<T> Future<T>
getFuture()
get future.Invocation
getInvocation()
已过时。Replace to getMethodName(), getParameterTypes(), getArguments()Invoker<?>
getInvoker()
已过时。Replace to getUrl()List<Invoker<?>>
getInvokers()
已过时。Replace to getUrls()InetSocketAddress
getLocalAddress()
get local address.String
getLocalAddressString()
String
getLocalHost()
get local host.String
getLocalHostName()
get local host name.int
getLocalPort()
get local port.String
getMethodName()
get method name.Class<?>[]
getParameterTypes()
get parameter types.InetSocketAddress
getRemoteAddress()
get remote address.String
getRemoteAddressString()
get remote address string.String
getRemoteHost()
get remote host.String
getRemoteHostName()
get remote host name.int
getRemotePort()
get remote port.Object
getRequest()
Get the request object of the underlying RPC protocol, e.g.<T> T
getRequest(Class<T> clazz)
Get the request object of the underlying RPC protocol, e.g.Object
getResponse()
Get the response object of the underlying RPC protocol, e.g.<T> T
getResponse(Class<T> clazz)
Get the response object of the underlying RPC protocol, e.g.static RpcContext
getServerContext()
get server side context.URL
getUrl()
List<URL>
getUrls()
boolean
isClientSide()
已过时。Replace to isConsumerSide()boolean
isConsumerSide()
is consumer side.boolean
isProviderSide()
is provider side.boolean
isServerSide()
已过时。Replace to isProviderSide()RpcContext
remove(String key)
remove value.RpcContext
removeAttachment(String key)
remove attachment.static void
removeContext()
remove context.static void
removeServerContext()
remove server side context.RpcContext
set(String key, Object value)
set value.void
setArguments(Object[] arguments)
RpcContext
setAttachment(String key, String value)
set attachment.RpcContext
setAttachments(Map<String,String> attachment)
set attachmentsvoid
setFuture(Future<?> future)
set future.RpcContext
setInvocation(Invocation invocation)
RpcContext
setInvoker(Invoker<?> invoker)
RpcContext
setInvokers(List<Invoker<?>> invokers)
RpcContext
setLocalAddress(String host, int port)
set local address.RpcContext
setLocalAddress(InetSocketAddress address)
set local address.void
setMethodName(String methodName)
void
setParameterTypes(Class<?>[] parameterTypes)
RpcContext
setRemoteAddress(String host, int port)
set remote address.RpcContext
setRemoteAddress(InetSocketAddress address)
set remote address.void
setRequest(Object request)
void
setResponse(Object response)
void
setUrl(URL url)
void
setUrls(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
-
-
-