Closed dahanwang closed 5 years ago
2.客户端发起都是客户端自己的线程,RpcResponseProcessor 的执行是在用户发起线程里的。
感谢回复。背景是游戏
个人感觉processInIOThread这个很有必要开放出来
http://www.sofastack.tech/sofa-rpc/docs/Custom-ThreadPool 有个自定义线程池,但是要根据接口维度。不知道是否满足你们的需求
RpcResponseProcessor 这个 @dbl-x 看下呢?
@leizhiyuan 理解下来用户是希望RpcResponseProcessor能有自己的Executor,这样在处理的时候会从io线程转到用户自己的Executor,中间不会再有一个Bolt中的DefaultExecutor。
Bolt默认的RpcResponseProcessor支持传入Executor,可以在Bolt RPC模块中增加一个配置来让用户传入自己的Executor。
@dbl-x 恩,com.alipay.remoting.rpc.protocol.RpcCommandHandler#RpcCommandHandler 现在这里是固定了。如果bolt 支持传的话,rpc 可以支持吧用户配置的传进来。
第一个的话, com.alipay.sofa.rpc.server.bolt.BoltServerProcessor#getExecutorSelector 目前 rpc 是这样选择的, 如果这个不满足需求,可以再改下。支持全局指定一个。
@dbl-x @leizhiyuan 感谢二位。 支持传入Executor其实和UserThreadPool性质差不多,再加上可配置processInIOThread,就完美了
will support in https://github.com/alipay/sofa-rpc/pull/544
this issue will close
Your question
userProcessor.processInIOThread能否可配置?
客户端能否支持自定义线程池?
Environment
java -version
):uname -a
):