対DoS攻撃用のIRequestCycleを書きました。 あるIPアドレスから同じURLへ一定期間(expire)に閾値(threshold)以上のアクセスがあるとDosAttackExceptionをぶん投げます。 こういったものはServletFilterで書くのも手ですが、そうするとWicketTesterでテストをするのが手間になってしまうため、IRequestCycleのonBeginRequest()とonEndRequest()で書いています。 JPAのTransaction管理もServletFilterではなくIRequestCycle内で完結させることでTransactionがcommitできなかった場合はIRequestCycle.onRuntimeException(Page page, RuntimeException e)呼べるので便利。 これはまた別の機会に詳