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 작업 여부
- *
- 작업 중이면 true
- * - 그렇지 않으면 false
- *
- */
- public boolean isBusy() {
- return busy;
- }
-
- /**현재 Bean의 작업 여부를 설정한다.
- * {@link FileJobServiceBean}이 사용한다.
- * @param busy 작업 여부
- * - 작업 중이면 true
- * - 그렇지 않으면 false
- *
- */
- 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