310.9. 异常处理
这个组件支持常规 Camel 异常处理功能
当出现错误时,会出现带有 SubmitSm (默认操作)的消息时,org.apache.camel.component.smpp.SmppException 会抛出带有嵌套异常 org.jsmpp.extra.NegativeResponseException。调用 NegativeResponseException.getCommandStatus ()以获取确切的 SMPP 负响应代码,这些值将在 SMPP 规格 3.4、部分 5.1.3 中解释。
Camel 2.8 开始 :当 SMPP 使用者收到 deliverSm
或 DataSm
短消息时,这些消息的处理会失败,也可以抛出 ProcessRequestException
,而不是处理故障。在这种情况下,这个异常被转发到底层 JSMPP 库,该库会将包含的错误代码返回到 SMSC。此功能可用于 SMSC 稍后重新发送简短消息。这可以通过以下代码行完成:
from("smpp://smppclient@localhost:2775?password=password&enquireLinkTimer=3000&transactionTimer=5000&systemType=consumer") .doTry() .to("bean:dao?method=updateSmsState") .doCatch(Exception.class) .throwException(new ProcessRequestException("update of sms state failed", 100)) .end();
有关错误代码的完整列表及其含义,请参阅 SMPP 规格。