주기적보고 작업을 설정하려고합니다. 보고서는 사용자 상호 작용없이 작성되어야하며 작업은 응용 프로그램이 시작될 때 예약되어야합니다.Apache ISIS에서 프로그래밍 방식으로 동작 호출
백그라운드 서비스와 스케줄러가 작동합니다. createReport 액션을 UI의 버튼으로 노출하면 다음에 작업이 트리거 될 때 보고서가 만들어집니다. 그러나이 보고서는 사용자 상호 작용없이 반복적으로 작성해야합니다.
프로그래밍 방식으로 동작을 호출하는 방법이 궁금합니다. createReport()를 도메인 서비스로 이동하고 @PostConstruct 주석이있는 메서드에서 호출하면 예외가 발생합니다 (IsisCommand에 명령을 유지하려고 시도). 액션 호출에 대한 일종의 컨텍스트가 있어야한다고 생각하니? 아니면 내가 잘못된 방향으로 접근하고 있습니까? 감사!
@Action(command = CommandReification.ENABLED,
commandExecuteIn=CommandExecuteIn.BACKGROUND)
public Command createReport() {
backgroundService.execute(this).generateReport();
return commandContext.getCommand();
}
@Programmatic
public void generateReport() {
....
}
고마워요! 내가 필요한 정보. 두 번째 접근 방식으로 갔고 잘 작동합니다. – user5806139