axis2里面本身并没有什么队列,只要有请求就会直接发送到webservice服务端,如果webservice服务端由于太忙获取它原因没有办法响应,axis会返回一个超时的异常(假设设置了超时时间)。
这里有个问题:假设2或3是在web服务器上,web服务器本身的处理线程是有限的,在1客户很多的时候等待是肯定的。
这里有个问题:假设2或3是在web服务器上,web服务器本身的处理线程是有限的,在1客户很多的时候等待是肯定的。
解决方案 »
- 这样创建session对不对?
- 我在一个action里注入两个service,为什么emaildao实现类里,拿不到session呢?
- swing中JTable右键问题
- 请教:如何从ServletContext中取得Attribute
- java入门
- hibernate保存后返回主键
- jsp页面EL传值跳转
- java应用程序和java小应用程序的区别,大哥大姐分不多了,全在这了,谢谢
- Weblogic中的连接池满了,怎么办阿?
- 如何获取网页中的js脚本源码
- 急急急购物车问题如何实现购物物品自动曾家数量的问题
- websphere application client里面通过jndi得到datasource时抱Null userid???
多线程处理
但我不是讨论的这个问题因为可以这样认为2上的每一个action其实就是一个单独的线程调度,所以已经是多线程了。我的问题是:
从底层来看,2上的多个线程(多个webservice客户端实例--用axis2做的)能同时访问3上的webserive服务端吗?也就是能并发访问同一个目标服务器3吗(每个请求的url都完全一样,只有请求的参数不同。)?
还是说2上的多个客户端是排队执行的?在axis2默认的阻塞模式下,每一个线程的请求返回了,下一个线程的请求才开始?
上面两种可能那种正确?
我问这个的目的是:把2上的axis2客户端改成非阻塞的有哪些意义?因为我目前用的axis2客户端是阻塞方式,但是已经是多线程了。在我不明白原理的情况下,我怀疑是各线程排队执行的原因是:当1上同时在线的用户多时,部分用户的2到3的请求会超时(超时原因还有个就是3上的webservice服务端只能容纳很有限的连接,但我目前只研究1和2部分,3部分不在我的控制下,所以我现在不考虑3的容纳数这个问题,而重点考虑2上的webservice客户端的改造问题。)
但从我看的资料感觉到:多线程(每个线程的axis2客户端都是阻塞模式)应该是可以并发的。所以请教,澄清疑惑。