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