저는 비즈니스 메소드가있는 많은 EJB를 가지고 있습니다. 이 메소드는 @RolesAllowed 주석을 사용하여 사용자가이 메소드를 실행할 수 있는지 확인합니다.EJB 스케쥴러에서 @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 –