我检查了Oracle Java API,它给出了FutureTask.isDone()的一些信息.
但我需要检查任务是否已完成或因任何错误而终止.isDone()方法即使完成/终止也会返回.但我需要知道它是否由于某些问题而完成或终止.
我创建了以下FutureTask方法来异步运行方法.
public FutureTask<Object> SendAggregateEventAsync(final
com.Company.Product.SDK.Device.AggregateEvent.ClassObject
request)
{
FutureTask<Object> futureTask;
futureTask = new FutureTask<Object>(new Runnable() {
public void run()
{
try {
SendAggregateEvent(request);
} catch (ResponseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, null);
return futureTask;
}
public void SendAggregateEvent(
com.Company.Product.SDK.Device.AggregateEvent.ClassObject
request) throws ResponseException
{
try
{
if(request == null) throw new IllegalArgumentException("request");
String[] s_array = new String[0];
s_array[0] = "EventTime";
String namespace = "http://Product.Company.com/" +
"v1.0/Device/AggregateEvent";
IBindingFactory factory;
factory = BindingDirectory.getFactory(
com.Compant.Product.SDK.Device.AggregateEvent.
ClassObject.class);
String message = …Run Code Online (Sandbox Code Playgroud)