私はビジネスメソッドを持つ多くのEJBを持っています。これらのメソッドは@RolesAllowedアノテーションを使用して、ユーザーがこのメソッドを実行できるかどうかをチェックします。EJB Schedulerで@RunAsを使用する
私はこれらのEJBメソッドを呼び出すEJBスケジューラを持っています。 EJBスケジューラは匿名ユーザーで実行されるため、認証に失敗します。
スケジューラを他の役割でどのように実行できますか?テストの提案については、@ RunAs( "SYSTEM")アノテーションを付けて実行しますが、これが正しいかどうかはわかりません。
マイスケジューラクラス
@RunAs("SYSTEM")
public class InboxScheduler {
protected void inboxFileScan(Timer t) {
receiptFilesService.receiptFiles();
}
}
マイEJBクラス
@RolesAllowed("SYSTEM")
public void receiptFiles() {
// do anything
}
ありがとうございます@ victor-herrera –