如何在JavaWeb服务中实现单向操作?

如何在JavaWeb服务中实现单向操作?,java,spring,web-services,soap,oneway,Java,Spring,Web Services,Soap,Oneway,如何在Web服务中实现单向操作(使用Java或Spring注释) 我尝试添加一种方法,如下所示 @WebService public interface DanduServices { @Oneway public void saveDanduInformation(@WebParam(name = "serv") ServDTO Serv, @WebParam(name = "dandu") DanduDTO danduDto); 但它仍然是请求-响应,而不是

如何在Web服务中实现单向操作(使用Java或Spring注释)

我尝试添加一种方法,如下所示

   @WebService
   public interface DanduServices {
     @Oneway
     public void saveDanduInformation(@WebParam(name = "serv") ServDTO Serv, @WebParam(name = "dandu") DanduDTO danduDto);
但它仍然是请求-响应,而不是异步的或单向的


是否有人建议在服务端点中进行单向操作,并让其他操作按照请求-响应进行操作?

但您也需要考虑协议。在HTTP中,当您发送请求时,您等待响应,如果在一段时间后没有响应返回,那么您将收到超时错误。所以,当您谈论单向(您应该说可能是异步请求)时,您确实需要确切地指定您的意思。您是否希望确认您的消息已收到,即让服务器返回OK状态代码,然后关闭并完成其任务,但不等待任务完成?然后您需要生成另一个线程。Spring对此具有AOP,其方式与处理
@Transactional
事务的方式相同。相反,您使用
@Async
注释您的方法,并返回一个
未来的
。您的配置中还需要
@EnableAsync
。有关示例,请参阅本文

如果您甚至不关心服务器是否接收到您的请求,那么您不想使用TCP/HTTP,而是使用UDP。例如,UDP用于VOIP(通过internet的电话),速度更快,但这取决于您的客户端