Procházet zdrojové kódy

Remove quartz at WorkerServer (#10358)

* Remove quartz at WorkerServer

* move k8s and permission from dolphinscheduler-service to dolphinscheduler-api
Wenjun Ruan před 2 roky
rodič
revize
022e4886be

dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/k8s/K8sClientService.java → dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/k8s/K8sClientService.java


dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/k8s/K8sManager.java → dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/k8s/K8sManager.java


dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/permission/PermissionCheck.java → dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/PermissionCheck.java


dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/permission/ResourcePermissionCheckService.java → dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckService.java


dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/permission/ResourcePermissionCheckServiceImpl.java → dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java


dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/k8s/K8sManagerTest.java → dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/k8s/K8sManagerTest.java


dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/permission/ResourcePermissionCheckServiceTest.java → dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceTest.java


+ 0 - 5
dolphinscheduler-service/pom.xml

@@ -90,10 +90,5 @@
             <scope>provided</scope>
         </dependency>
 
-        <dependency>
-            <groupId>io.fabric8</groupId>
-            <artifactId>kubernetes-client</artifactId>
-            <scope>provided</scope>
-        </dependency>
     </dependencies>
 </project>

+ 6 - 0
dolphinscheduler-worker/pom.xml

@@ -34,6 +34,12 @@
         <dependency>
             <groupId>org.apache.dolphinscheduler</groupId>
             <artifactId>dolphinscheduler-service</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-quartz</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.dolphinscheduler</groupId>

+ 13 - 1
dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/WorkerServer.java

@@ -54,11 +54,21 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.FilterType;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 @SpringBootApplication
 @EnableTransactionManagement
-@ComponentScan("org.apache.dolphinscheduler")
+@ComponentScan(basePackages = "org.apache.dolphinscheduler",
+        excludeFilters = {
+                @ComponentScan.Filter(type = FilterType.REGEX, pattern = {
+                        "org.apache.dolphinscheduler.service.process.*",
+                        // todo: split the quartz into a single module
+                        "org.apache.dolphinscheduler.service.quartz.*",
+                        "org.apache.dolphinscheduler.service.queue.*",
+                })
+        }
+)
 public class WorkerServer implements IStoppable {
 
     /**
@@ -102,6 +112,8 @@ public class WorkerServer implements IStoppable {
     @Autowired
     private WorkerRegistryClient workerRegistryClient;
 
+    // todo: Can we just load the task spi, and don't install into mysql?
+    //  we don't need to rely the dao module in worker.
     @Autowired
     private TaskPluginManager taskPluginManager;
 

+ 0 - 156
dolphinscheduler-worker/src/test/java/org/apache/dolphinscheduler/server/worker/processor/TaskCallbackServiceTestConfig.java

@@ -17,32 +17,6 @@
 
 package org.apache.dolphinscheduler.server.worker.processor;
 
-import org.apache.dolphinscheduler.dao.AlertDao;
-import org.apache.dolphinscheduler.dao.datasource.SpringConnectionFactory;
-import org.apache.dolphinscheduler.dao.mapper.AlertGroupMapper;
-import org.apache.dolphinscheduler.dao.mapper.AlertMapper;
-import org.apache.dolphinscheduler.dao.mapper.AlertPluginInstanceMapper;
-import org.apache.dolphinscheduler.dao.mapper.CommandMapper;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
-import org.apache.dolphinscheduler.dao.mapper.DqComparisonTypeMapper;
-import org.apache.dolphinscheduler.dao.mapper.DqExecuteResultMapper;
-import org.apache.dolphinscheduler.dao.mapper.DqRuleExecuteSqlMapper;
-import org.apache.dolphinscheduler.dao.mapper.DqRuleInputEntryMapper;
-import org.apache.dolphinscheduler.dao.mapper.DqRuleMapper;
-import org.apache.dolphinscheduler.dao.mapper.DqTaskStatisticsValueMapper;
-import org.apache.dolphinscheduler.dao.mapper.ErrorCommandMapper;
-import org.apache.dolphinscheduler.dao.mapper.PluginDefineMapper;
-import org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionMapper;
-import org.apache.dolphinscheduler.dao.mapper.ProcessInstanceMapMapper;
-import org.apache.dolphinscheduler.dao.mapper.ProcessInstanceMapper;
-import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
-import org.apache.dolphinscheduler.dao.mapper.ResourceMapper;
-import org.apache.dolphinscheduler.dao.mapper.ResourceUserMapper;
-import org.apache.dolphinscheduler.dao.mapper.ScheduleMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
-import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
-import org.apache.dolphinscheduler.dao.mapper.UdfFuncMapper;
-import org.apache.dolphinscheduler.dao.mapper.UserMapper;
 import org.apache.dolphinscheduler.service.process.ProcessService;
 
 import org.mockito.Mockito;
@@ -55,139 +29,9 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 public class TaskCallbackServiceTestConfig {
 
-    @Bean
-    public AlertDao alertDao() {
-        return new AlertDao();
-    }
-
-    @Bean
-    public AlertMapper alertMapper() {
-        return Mockito.mock(AlertMapper.class);
-    }
-
     @Bean
     public ProcessService processService() {
         return Mockito.mock(ProcessService.class);
     }
 
-    @Bean
-    public UserMapper userMapper() {
-        return Mockito.mock(UserMapper.class);
-    }
-
-    @Bean
-    public ProcessDefinitionMapper processDefineMapper() {
-        return Mockito.mock(ProcessDefinitionMapper.class);
-    }
-
-    @Bean
-    public ProcessInstanceMapper processInstanceMapper() {
-        return Mockito.mock(ProcessInstanceMapper.class);
-    }
-
-    @Bean
-    public DataSourceMapper dataSourceMapper() {
-        return Mockito.mock(DataSourceMapper.class);
-    }
-
-    @Bean
-    public ProcessInstanceMapMapper processInstanceMapMapper() {
-        return Mockito.mock(ProcessInstanceMapMapper.class);
-    }
-
-    @Bean
-    public TaskInstanceMapper taskInstanceMapper() {
-        return Mockito.mock(TaskInstanceMapper.class);
-    }
-
-    @Bean
-    public CommandMapper commandMapper() {
-        return Mockito.mock(CommandMapper.class);
-    }
-
-    @Bean
-    public ScheduleMapper scheduleMapper() {
-        return Mockito.mock(ScheduleMapper.class);
-    }
-
-    @Bean
-    public UdfFuncMapper udfFuncMapper() {
-        return Mockito.mock(UdfFuncMapper.class);
-    }
-
-    @Bean
-    public ResourceMapper resourceMapper() {
-        return Mockito.mock(ResourceMapper.class);
-    }
-
-    @Bean
-    public ResourceUserMapper resourceUserMapper() {
-        return Mockito.mock(ResourceUserMapper.class);
-    }
-
-    @Bean
-    public ErrorCommandMapper errorCommandMapper() {
-        return Mockito.mock(ErrorCommandMapper.class);
-    }
-
-    @Bean
-    public TenantMapper tenantMapper() {
-        return Mockito.mock(TenantMapper.class);
-    }
-
-    @Bean
-    public ProjectMapper projectMapper() {
-        return Mockito.mock(ProjectMapper.class);
-    }
-
-    @Bean
-    public AlertPluginInstanceMapper alertPluginInstanceMapper() {
-        return Mockito.mock(AlertPluginInstanceMapper.class);
-    }
-
-    @Bean
-    public AlertGroupMapper alertGroupMapper() {
-        return Mockito.mock(AlertGroupMapper.class);
-    }
-
-    @Bean
-    public PluginDefineMapper pluginDefineMapper() {
-        return Mockito.mock(PluginDefineMapper.class);
-    }
-
-    @Bean
-    public DqExecuteResultMapper dqExecuteResultMapper() {
-        return Mockito.mock(DqExecuteResultMapper.class);
-    }
-
-    @Bean
-    public DqRuleMapper dqRuleMapper() {
-        return Mockito.mock(DqRuleMapper.class);
-    }
-
-    @Bean
-    public DqRuleInputEntryMapper dqRuleInputEntryMapper() {
-        return Mockito.mock(DqRuleInputEntryMapper.class);
-    }
-
-    @Bean
-    public DqRuleExecuteSqlMapper dqRuleExecuteSqlMapper() {
-        return Mockito.mock(DqRuleExecuteSqlMapper.class);
-    }
-
-    @Bean
-    public DqComparisonTypeMapper dqComparisonTypeMapper() {
-        return Mockito.mock(DqComparisonTypeMapper.class);
-    }
-
-    @Bean
-    public DqTaskStatisticsValueMapper dqTaskStatisticsValueMapper() {
-        return Mockito.mock(DqTaskStatisticsValueMapper.class);
-    }
-
-    @Bean
-    public SpringConnectionFactory springConnectionFactory() {
-        return Mockito.mock(SpringConnectionFactory.class);
-    }
-
 }