FileJobBean super class 변경
parent
7c136b90bf
commit
1a08178bd0
@ -1,41 +0,0 @@
|
||||
package cokr.xit.interfaces.filejob.service.bean;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import cokr.xit.foundation.component.AbstractServiceBean;
|
||||
|
||||
/**수신 파일의 처리, 파일의 생성/전송을 수행하는 서비스 구현체가 상속받는 베이스 클래스
|
||||
* @author mjkhan
|
||||
*/
|
||||
public class FileJobServiceBean extends AbstractServiceBean {
|
||||
/**주어진 작업을 수행한다. fileJob이 작업 중이면 무시한다.
|
||||
* @param fileJob 파일 작업 Bean
|
||||
* @param task 파일 작업 Bean의 메소드
|
||||
*/
|
||||
protected void execute(FileJobBean fileJob, Runnable task) {
|
||||
if (fileJob.isBusy()) return;
|
||||
|
||||
fileJob.setBusy(true);
|
||||
try {
|
||||
task.run();
|
||||
} finally {
|
||||
fileJob.setBusy(false);
|
||||
}
|
||||
}
|
||||
|
||||
/**주어진 작업을 수행하고 결과를 반환한다. fileJob이 작업 중이면 무시하고 null을 반환한다.
|
||||
* @param fileJob 파일 작업 Bean
|
||||
* @param task 파일 작업 Bean의 메소드
|
||||
* @return 작업 결과
|
||||
*/
|
||||
protected <T> T execute(FileJobBean fileJob, Supplier<T> task) {
|
||||
if (fileJob.isBusy()) return null;
|
||||
|
||||
fileJob.setBusy(true);
|
||||
try {
|
||||
return task.get();
|
||||
} finally {
|
||||
fileJob.setBusy(false);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue