307.8. 例外処理
このコンポーネントは、一般的な 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 仕様 を参照してください。