axis设置时间范围为0-2秒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axis设置时间范围为0-2秒相关的知识,希望对你有一定的参考价值。

参考技术A 来一盘地三鲜
关注
axis1.4 设置请求超时时间 原创
2014-03-23 11:03:55

来一盘地三鲜

码龄15年

关注

项目中使用axis1.4生成的webservice,访问公安网的接口,使用过程中某些业务和时间段调用接口会产生请求超时的情况,由于业务是顺序执行,无法通过线程等待一段时间的方式来处理请求超时,因此只能尝试从webservice自身入手。

先说解决方案:通过各种设置setTimeout来控制请求超时时间。

具体怎么设置,尝试过的有如下几种:

如果是使用stub方式调用webservice,有两种方式设定:

1:统一所有出口的超时时间设定:

这种方式在axis生成的四个客户端类中,对stub这个类下手,这个类就是stub方式调用的核心类,以前总认为它是自动生成能的,不能随便乱动,其实不然,关键是找到下手的地方。仔细阅读,你会在这个类里面找到webservice服务端对外暴露的方法,然后在在该方法里面找到生成call对象的地方,加入如下一行代码即可:

_call.setTimeOut(30000); //单位是毫秒

如果你想更灵活的控制超时时间,不妨把控制时间设置到配置文件里。

2:单个方法的超时时间控制:

在你的业务类处理接口调用方法里面,在获得stub对象的下面,加入如下代码:

stub.setTimeOut(30000); //单位是毫秒

这种方案控制到了具体的某个方法,更灵活。

解决方案来自于这里:

http://axis.apache.org/axis/faq.html#faq17

如果你是使用便捷模式调用,那更简单,直接一句话(标红代码):

String endpoint="http://ip/project/services/xxx?wsdl";

Service service =new service();

Call call=(Call) service.createCall();

call.setTargetEndpointAddress(endpoint);

call.setOperationName("methodname");

call.setTimeout(10000); //单位是毫秒

String ret =(String)call.invoke(new Object[] xmldoc);

这种方法简单便捷,对于测试webservice极为方便,但是缺少灵活性,工程一般不建议使用。

最重要的,所有的方案都是从客户端下手,因为服务端常常不是你所能控制的。

总结:

1:要保持英文阅读的能力,不然就算有解决方案都看不懂。

2:不要人云亦云:其实long long ago,在网上就查到过通过设置setTimeout参数来控制超时时间的观点,但是好多人都说这个参数设置无效,当时也没有深入,只是人云亦云的想当然,大多数人的悲哀,挣扎吧,少年。

3:经验是一个不断积累的过程,也只有经验积累到了一定程度,娴熟了,才会有庖丁解牛的勇气和行动。

matlab中如何修改坐标轴,如图所示?

想把图像的横坐标取值范围改为(0,30),纵坐标取值范围改为(0,40),并把X轴移到图像的上方,是否要重新配准图像?

  选中坐标轴,单击鼠标右键,选择properties选项,在定义的坐标轴的数值,可以随便调整坐标轴范围。
  坐标轴设置
  范围设置:
  a. axis([xmin xmax ymin ymax])设置坐标轴在指定的区间;
  b. axis auto 将当前绘图区的坐标轴范围设置为MATLAB自动调整的区间;
  c. axis manual 冻结当前坐标轴范围,以后叠加绘图都在当前坐标轴范围内显示;
  d. axis tight 采用紧密模式设置当前坐标轴范围,即以用户数据范围为坐标轴范围比,例:
  a. axis equal 等比例坐标轴;
  b. axis square 以当前坐标轴范围为基础,将坐标轴区域调整为方格形;
  c. axis normal 自动调整纵横轴比例,使当前坐标轴范围内的图形显示达到最佳效果;
  范围选项和比例设置可以联合使用,默认的设置为axis auto normal。
  
  坐标轴刻度设置
  set(gca, ’XTick’, [0 1 2]) X坐标轴刻度数据点位置;
  set(gca,'XTickLabel','a','b','c') X坐标轴刻度处显示的字符;
  set(gca,'FontName','Times New Roman','FontSize',14)设置坐标轴刻度字体名称,大小;
  ‘FontWeight’,’bold’ 加粗 ‘FontAngle’,’italic’ 斜体;
  对字体的设置也可以用在title, xlabel, ylabel等中。
参考技术A 选中坐标轴,右键会出现properties这个选项,在定义的坐标轴的数值,可以随便调整坐标轴范围 参考技术B 控制坐标轴显示范围:

axis([xmin, xmax, ymin, ymax])

所以你要这样:axis([0, 30, 0, 40])

以上是关于axis设置时间范围为0-2秒的主要内容,如果未能解决你的问题,请参考以下文章

matlab 定义坐标轴显示范围

时间相加

如何定义matlab里面绘图的x,y轴的范围

matlab中plot()画图时如何指定X Y轴的范围

matlab 中如何更改三维坐标z轴取值范围。axis只能改x.y

如何调整plot的坐标轴的显示位置