aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/xyz/driver/core/messaging/AliyunBus.scala7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/messaging/AliyunBus.scala b/src/main/scala/xyz/driver/core/messaging/AliyunBus.scala
index 66ae377..27e66f6 100644
--- a/src/main/scala/xyz/driver/core/messaging/AliyunBus.scala
+++ b/src/main/scala/xyz/driver/core/messaging/AliyunBus.scala
@@ -3,6 +3,7 @@ import java.nio.ByteBuffer
import java.util
import com.aliyun.mns.client.{AsyncCallback, CloudAccount}
+import com.aliyun.mns.common.ServiceException
import com.aliyun.mns.model
import com.aliyun.mns.model._
@@ -53,7 +54,11 @@ class AliyunBus(
pullTimeout,
new AsyncCallback[util.List[model.Message]] {
override def onSuccess(result: util.List[model.Message]): Unit = promise.success(result.asScala)
- override def onFail(ex: Exception): Unit = promise.failure(ex)
+ override def onFail(ex: Exception): Unit = ex match {
+ case serviceException: ServiceException if serviceException.getErrorCode == "MessageNotExist" =>
+ promise.success(Nil)
+ case _ => promise.failure(ex)
+ }
}
)