diff --git a/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobBean.java b/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobBean.java index b5f675c..f25635a 100644 --- a/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobBean.java +++ b/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobBean.java @@ -11,15 +11,13 @@ import java.util.List; import java.util.function.Predicate; import java.util.stream.Stream; -import cokr.xit.foundation.AbstractComponent; +import cokr.xit.foundation.component.ScheduledBean; import cokr.xit.interfaces.filejob.JobConf; /**파일 작업을 수행하는 Bean이 상속하는 베이스 클래스 * @author mjkhan */ -public abstract class FileJobBean extends AbstractComponent { - private boolean busy; - +public abstract class FileJobBean extends ScheduledBean { /**현재 Bean이 수행하는 작업의 이름을 반환한다.
* 작업 이름은 {@link JobConf}가 현재 Bean의 작업 설정을 찾는데 사용한다. * @return 작업 이름 @@ -33,28 +31,6 @@ public abstract class FileJobBean extends AbstractComponent { return JobConf.get(); } - /**현재 Bean이 작업 중인지 반환한다.
- * {@link FileJobServiceBean}이 사용한다. - * @return 작업 여부 - * - */ - public boolean isBusy() { - return busy; - } - - /**현재 Bean의 작업 여부를 설정한다.
- * {@link FileJobServiceBean}이 사용한다. - * @param busy 작업 여부 - * - */ - public void setBusy(boolean busy) { - this.busy = busy; - } - /**파일 하나의 작업 결과 * @author mjkhan */ diff --git a/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobServiceBean.java b/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobServiceBean.java deleted file mode 100644 index dbdfc4f..0000000 --- a/src/main/java/cokr/xit/interfaces/filejob/service/bean/FileJobServiceBean.java +++ /dev/null @@ -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 execute(FileJobBean fileJob, Supplier task) { - if (fileJob.isBusy()) return null; - - fileJob.setBusy(true); - try { - return task.get(); - } finally { - fileJob.setBusy(false); - } - } -} \ No newline at end of file