mina服务端返回消息,出现线程混乱 5
业务场景:客户端1发一笔交易,给服务器端(mina),mina服务器端去请求后台;在后台还没有返回消息时,另一个客户端2请求后台的消息返回给mina服务器,然后mina服...
业务场景:
客户端1发一笔交易,给服务器端(mina),mina服务器端去请求后台;在后台还没有返回消息时,另一个客户端2请求后台的消息返回给mina服务器,然后mina服务器把应该返回给客户端2的消息返回给客户端1。
根据大家对mina2的认识,请帮忙分析出现这种情况的原因是什么?
请参考这2张图片,分4部。
第一步:请求1请求到mina服务器端,mina服务器请求后台,后台还没有返回消息给mina。
第二、三步:此时,请求2的返回消息从后台到达mina服务器端。
第四部:mina服务器把应该返回给请求2的消息,返回给了请求1
大家注意下线程 pool-4-thread-23483,请求3,4,5......等请求,mina最后send给请求端时,都是用的这个线程,请帮忙分析这是怎么回事?如何能解决 这个问题? 展开
客户端1发一笔交易,给服务器端(mina),mina服务器端去请求后台;在后台还没有返回消息时,另一个客户端2请求后台的消息返回给mina服务器,然后mina服务器把应该返回给客户端2的消息返回给客户端1。
根据大家对mina2的认识,请帮忙分析出现这种情况的原因是什么?
请参考这2张图片,分4部。
第一步:请求1请求到mina服务器端,mina服务器请求后台,后台还没有返回消息给mina。
第二、三步:此时,请求2的返回消息从后台到达mina服务器端。
第四部:mina服务器把应该返回给请求2的消息,返回给了请求1
大家注意下线程 pool-4-thread-23483,请求3,4,5......等请求,mina最后send给请求端时,都是用的这个线程,请帮忙分析这是怎么回事?如何能解决 这个问题? 展开
1个回答
展开全部
正好现在整这个
Executors的工厂方法构建线程池
这种方式应该比较简单
IoAcceptor acceptor = new NioSocketAcceptor();
Executor threadPool = Executors.newCachedThreadPool();
DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
chain.addLast("exector", new ExecutorFilter(threadPool));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询