确认返回给调用者之前开始长执行我有一个服务方法暴露给外部客户是这样的:如何在Java中
public String service()
{
String track_id;
// Generate new track id for each call somehow
// let us put as 123 for simplicity
track_id = "123";
// Execution that may take 1 minute goes here ....
return track_id;
}
然后,我有一个客户端,消费服务,如:
public void client()
{
// Method Call
String track_id = service();
// Other statements
//statement 1;
//statement 2;
//statement 3;
}
client()
正在关注的唯一事情是由service()
返回的曲目ID。 client()
不关心在service()
中发生的长执行过程,该过程延迟client()
中的语句1至3。
现在有什么办法让service()
先返回track id然后运行其余的执行。听起来很疯狂,但没有任何办法改变service()
法的方式来实现以下行为:
public String service()
{
String track_id;
// Generate new track id for each call somehow
// let us put as 123 for simplicity
track_id = "123";
return track_id;
// Execution that may take 1 minute goes here ....
}
注:我不想存储任何在DB然后才能运行后取以任何方式在service()
长执行。长时间执行应该在接到来电时运行client()