加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

方法返回后运行Java代码?

发布时间:2020-12-15 08:47:33 所属栏目:Java 来源:网络整理
导读:我有一个基于 Java类的Web服务.在被调用操作的Java方法中返回确认消息后,是否可以运行代码. 为了更好地理解,这是工作流程: 调用我的Web服务的特定操作(方法) 开始处理 发送了一个已经开始处理的确认(这是一个返回值) 继续处理 线程不起作用,因为线程需要在
我有一个基于 Java类的Web服务.在被调用操作的Java方法中返回确认消息后,是否可以运行代码.

为了更好地理解,这是工作流程:

>调用我的Web服务的特定操作(方法)
>开始处理
>发送了一个已经开始处理的确认(这是一个返回值)
>继续处理

线程不起作用,因为线程需要在返回方法之前终止.

有没有人知道如何实现这种情况或替代它?

提前致谢.

解决方法

你需要使用Threads,因为你将程序流分成两部分;返回路径和处理路径分开并彼此并排运行.

如果您需要通过返回方法确认方法开始发送,那么为什么您的服务提供方法看起来不像这样简单?

public Acknowledgement someService() {
  new Thread(new SomeServiceRunnable()).start();
  return new Acknowledgement();
}

该服务将启动,然后该方法将返回(从而通知该进程已启动),同时处理继续,直到该线程结束…

我在这里错过了一些你需要达到的目标吗?

希望这可以帮助.

编辑:

似乎已经设计了一些答案来解决我没有看到作为问题的一部分呈现的问题.以下是我在做出答案时所做的一些假设,这些假设是为了让读到这个答案的人可能更好地了解它何时可能不适用于他们的特定情况:

这适用于您只想承认服务在概念上已经开始执行的情况.确认不能提供有关此执行的任何部分或其初始化成功的信息,只是它在概念上已经开始,也就是说在某个时刻将调用Associated Runnables run().

当然,如果您希望执行启动并且调用者返回,那么确认的重要性必然会受到在返回之前等待执行的任务的确切数量的限制,此处不会等待并且返回确认立即,所以不能给出额外的信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读