Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中使用axis创建异步请求最有效的方法是什么?_Java_Multithreading_Asynchronous_Axis2 - Fatal编程技术网

在java中使用axis创建异步请求最有效的方法是什么?

在java中使用axis创建异步请求最有效的方法是什么?,java,multithreading,asynchronous,axis2,Java,Multithreading,Asynchronous,Axis2,我正在寻找解决此问题的最佳解决方案: 我有一个客户端和一个服务器 使用call.invoke方法向服务器发送请求的客户端。 现在的呼叫是同步的,正在等待答案 从负载下的服务器接收重播所需的时间约为1秒(这是一段很长的时间) 在客户端,我们每秒生成大约50-100个请求,队列正在爆炸 现在,我刚刚创建了一个线程池,它将异步工作,并将每个线程向服务器发送请求,但请求本身将是同步的 这意味着,如果我们希望线程池能够正常工作,那么线程池应该保持大约100个线程 我不确定这是不是最好的解决办法 我还想创建

我正在寻找解决此问题的最佳解决方案:

我有一个客户端和一个服务器

使用call.invoke方法向服务器发送请求的客户端。 现在的呼叫是同步的,正在等待答案

从负载下的服务器接收重播所需的时间约为1秒(这是一段很长的时间)

在客户端,我们每秒生成大约50-100个请求,队列正在爆炸

现在,我刚刚创建了一个线程池,它将异步工作,并将每个线程向服务器发送请求,但请求本身将是同步的

这意味着,如果我们希望线程池能够正常工作,那么线程池应该保持大约100个线程

我不确定这是不是最好的解决办法

我还想创建一个线程来发送请求,一个线程来捕获回放,但是我担心我会将负载传递到服务器端

几件重要的事情:

我们无法在服务器端影响代码,也无法控制接收重播所需的时间

在接收重播时,我们只使用此数据创建另一个数据结构并传递它-因此时间戳并不重要

我们正在使用axis api

你知道这是解决问题的最好办法吗?100个线程的线程池似乎很好?还是有其他方法


谢谢

通过注册回调实例,可以使用非阻塞客户端方式调用axis服务

客户端类:

ServiceClient sc = new ServiceClient();
Options opt= new Options();

//set the target EP
opt.setTo(new EndpointReference("http://localhost:8080/axis2/services/CountryService"));
opt.setAction("urn:getCountryDetails");
sc.setOptions(opt);



sc.sendReceiveNonBlocking(payload, callBack);
//具有axisCallback的内部类,覆盖其所有方法。从后端接收结果时调用onMessage get

AxisCallback callBack = new AxisCallback() {

@Override
public void onMessage(MessageContext msgContext) {
    System.out.println(msgContext.getEnvelope().getBody().getFirstElement());
    //this method get called when you received the results from the backend
}
...
}
编写axis服务的参考: