在实际项目开发时,通常说的调用“接口”是不是不等同于java里的“接口”的概念

2024-03-16 16:32:10 浏览

这两个接口,概念虽然不一样,但是要完成的功能却是一致的。项目开发中的“接口”,通常指一组程序功能集合。通常用在不同系统之间的数据交换。比如,某系统的客户查询接口。java中得“接口”,是一个语法概念。生活中也有“接口”的概念,比如电源接口,usb接口。不管是那种形式的接口,他们的功能是一样的。

在实际项目开发时,通常说的调用接口是不是

1、接口都是一种规范,定义了一系列的功能。

2、接口不能直接使用必须实现后才能使用。

3、调用接口者,不必关心接口的具体实现。例1,A系统定义了一个客户查询接口,B系统可以通过客户号,调用A系统的查询接口,得到客户信息。分析:1、客户查询接口,需要定义查询数据,和返回数据的格式。2、客户查询接口被A系统实现了。3、B系统不必了解,接口是怎么实现的。例2,java中Connection接口。分析:1、Connection接口中定义了一系列方法。2、Connection接口被不同的数据库厂商实现了。3、我们不必了解Connection接口是怎么实现的。例3,usb接口分析:1、usb接口定义了数据传输的格式。2、usb接口被不同的设备实现了。3、我们不必了解usb接口是怎么实现的。

要看出现的是哪种异常了。如果是使用某些定义好的函数,并且函数本身会产生异常处理方法一般两种:

1.自己用try{}catch(){}语句捕获异常并处理。

2.在定义接口的后面写上throwException。把异常抛出让使用接口的人处理异常。两种方法都可以。。但如果是RuntimeException异常,那就是自己程序某些地方写错了,那你就必须找到并修改程序。

接囗超时解决办法:

假设A系统有个方法methodA,会调用B系统的methodB这个http接口,如果mehodA不追求超快的响应速度,那么你在调用methodB这个http接口时,可以增长超时时间,例如10秒超时。因为经常在某些时刻,由于网络原因或者系统原因,调用method会超时的。

如果第一次调用methodB超时了,那么你可以尝试多调用一次。当然前提是,methodA不追求超快的响应时间。注意:调用多次不代表重复调用 制造脏数据

如果methodA需要很快的响应速度,那么当调用methodB接口超时时,可以使用一个队列存储本次失败的记录,然后使用一个job每隔一段时间去扫这个队列,看看是否有待处理的数据。

备注:如果对方系统挂掉了,使用待处理队列的方式,比较合适。

catch这个超时异常,然后记录日志后,抛出这个异常,并把之前的数据回滚。让对方的系统重新调用。

备注:宁愿没有数据,也不要存储脏数据。

如果你的业务方法中,需要调用对方的http接口,如果这个http接口不影响主流程的,那么可以使用一个线程,异步调用对方的http接口,并把超时时间设置长一些。由于使用了异步,主流程会立刻继续走的。

使用一台缓存服务器,每次调用先调用我们的缓存服务器里面的数据,来实现快速调用解决超时问题

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。