我有一些关于线程的奇怪问题......需要一些建议。
我在Tomcat8上运行Spring4 webapp。我已经使用Spring MVC配置了restful端点来接收请求进入" / rs / event / book / create"
@RequestMapping(
value = { "/rs/event/book/create" },
method = RequestMethod.POST,
consumes=MediaType.APPLICATION_JSON_VALUE,
produces=MediaType.APPLICATION_JSON_VALUE
)
public String bookCreate( @RequestBody Map<String,Object> jsonData ) { ... }
我会在时机成熟的时候从用户界面对此URL进行Ajax调用。
我希望请求转到&#34; / rs / event / book / create&#34;触发三个线程,每个线程对Zapier进行HTTP调用并通过,而不等待Zapier或客户端等待响应来自&#34; / rs / event / book / create&#34; (这是一个暂时的事情,在我们有时间找出更优雅的解决方案之前,几乎就像一个POC。)
问题是我害怕只是临时产生线程而不是完成或变成僵尸。
产生三个一次性线程的最佳/最安全的方法是什么,以便请求进入&#34; / rs / event / book / create&#34;会解雇三个线程并通过? (我不是在谈论Spring @Async)
感谢您帮助朋友!
更新
我想我在这里真正要求的是,这对我来说是否足以让我长期陷入困境?
@RequestMapping(
value = { "/rs/event/book/create" },
method = RequestMethod.POST,
consumes=MediaType.APPLICATION_JSON_VALUE,
produces=MediaType.APPLICATION_JSON_VALUE
)
public String bookCreate( @RequestBody Map<String,Object> jsonData ) {
new Thread() {
public void run() {
// HTTP call to Zapier
}
}.start();
new Thread() {
public void run() {
// HTTP call to Zapier
}
}.start();
new Thread() {
public void run() {
// HTTP call to Zapier
}
}.start();
return "";
}