305.9. 例外処理

このコンポーネントは、一般的な Camel 例外処理機能をサポートしています。

SubmitSm (デフォルトアクション) でメッセージを送信する際にエラーが発生すると、ネストされた例外 org.jsmpp.extra.NegativeResponseException とともに org.apache.camel.component.smpp.SmppException が出力されます。  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 仕様 を参照してください。