我有一个任务想要包装在 servlet 中,以提供通过 http 请求远程运行该任务的能力。
我知道我可以使用 REST API 来实现这一点,但目前我假设(如果我错了,请纠正我)一个简单的 servlet 就可以做到。
我想要实现的目标之一是,如果在另一个请求仍在处理时向 servlet 发出请求,我将得到适当的响应 - “任务已在运行”。
我使用 servlet-3.0 构建了一个简单的 servlet,它调用我想要运行的 jar,但是当我发出 2 个请求时,在第一个请求完成之前不会处理第二个请求。
编辑:
我的 servlet 是一个简单的 http servlet。服务方法被覆盖。 我在开始时有一个 system.out.println("a") 。 当我在 Debug模式下调用 servlet,然后(在断点处停止)再次调用它时,该消息仅打印一次,并在我释放断点并且第一次运行完成时打印第二次。
最佳答案
首先,这看起来根本不像 REST。如果您确实只想生成一个(单个)后台任务,请确保在单独的工作线程中执行此操作,而不是在请求线程中。
关于java - 如何让一个servlet响应多个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15517329/