Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 SOAP/REST Web服务:客户端超时,但服务器不回滚_Java_Hibernate_Web Services - Fatal编程技术网

Java SOAP/REST Web服务:客户端超时,但服务器不回滚

Java SOAP/REST Web服务:客户端超时,但服务器不回滚,java,hibernate,web-services,Java,Hibernate,Web Services,我有一个java客户端应用程序和一个java服务器应用程序。 我的客户可能会出现网络减速 我的客户端对我的服务器应用程序执行SOAP Web服务。问题是,有时客户端达到其超时(40秒),因为网络非常非常糟糕 对于客户端应用程序,此请求失败,稍后将重试同一调用。但是服务器已经集成了来自客户端的数据,我从我的ORM中得到了错误的密钥 我不想延长客户端的超时时间 我的问题是:当客户端超时时,是否有方法回滚服务器端的所有内容 谢谢解决此问题的一个选项是,当服务器接受请求时,在数据库中设置一些标志/状态。

我有一个java客户端应用程序和一个java服务器应用程序。 我的客户可能会出现网络减速

我的客户端对我的服务器应用程序执行SOAP Web服务。问题是,有时客户端达到其超时(40秒),因为网络非常非常糟糕

对于客户端应用程序,此请求失败,稍后将重试同一调用。但是服务器已经集成了来自客户端的数据,我从我的ORM中得到了错误的密钥

我不想延长客户端的超时时间

我的问题是:当客户端超时时,是否有方法回滚服务器端的所有内容


谢谢

解决此问题的一个选项是,当服务器接受请求时,在数据库中设置一些标志/状态。类似于处理中的
。数据处理成功后,将此标志更改为
Complete


当客户端稍后将重试同一呼叫时,您可以检查此标志,如果
flag=inProcessing或Complete
不进行任何日期处理

我不想有条理。我所做的是,我在服务器端设置了一个较小的超时(例如30秒),在客户端设置了一个稍多的超时(例如40秒)。如果出现网络问题,服务器将首先超时,然后回滚all@psv如果客户机在服务器超时之前强制关闭连接,它将不起作用。状态存储在数据库中。在处理之后,仍然可以将状态存储在db中。