BootでCommandLineRunnerインタフェースを使ったバッチの例外ハンドリング方法をメモしておきます。APIでは@ControllerAdviceを使って例外ハンドリングする方法がありますが、バッチだとそういう便利なアノテーションなさそうだったので、AOPで実現することにしました。CommandLineRunnerインタフェースの使い方については、以下記事をご覧ください。Code目次AOPの@AfterThrowingを使って例外ハンドリングするCommandLineRunnerインタフェースを実装したクラスではrunメソッドを@Overrideする必要があります。runメソッドが呼ばれることになります。そこで、AOPの@AfterThrowingを使ってrunメソッドで発生した例外を横断的に処理してやればいいのではと考えました。CommandLineRunnerを使ったバッチで例外ハンドリングを実装したコードは以下のとおりです。HogeExceptionといった独自例外クラスを作成し、業務の例外ごとにハンドリングすることも可能です。まとめCommandLineRunnerを使ったバッチで例外ハンドリングを行う方法でした。今回の方法が最適解だとは思っていないのですが、ひとまずバッチ処理でも例外ハンドリングできることは確認できました。「もっといい方法があるよ」という方はぜひ教えていただきたいです。Batchで簡単なバッチサービスを作ってみました。...MyBatisでinsert,update,delete時にnullを設定するときの注意点MyBatisを使って、insertやupdate、delete時にnullを設定するとエラーとなったときの対処法をメモしておきます。Initializr、便利ですよね。実はこれ、Webからだけでなくcurlコマンドでも使えるんですよね。Bootで非同期処理を行う方法をメモしておきます。Bootでは、非同期処理用のアノテーション@Asyncが用意されているので、非同期処理が比較的簡単に実装できます。Bootで定期的に処理を実行(スケジューリング)する方法をメモしておきます。バッチ処理を行う際に使えそうです。Bootで組み込みWebサーバの自動起動を無効化する方法プロフィールdonchan技術を磨きたくてSIerからWeb業界に転職したエンジニア。技術メモを書いています。