Skip to content

Commit

Permalink
Allow users to disable task features in dataflow (#5971)
Browse files Browse the repository at this point in the history
Currently if the user sets task-enabled to false SCDF will fail to start.

Rename DataflowTaskConfiguration to DataflowTaskExplorerConfiguration so that it expresses its usage.
Rename aggregateTaskExplorer to dataflowTaskExplorer
Set the `ConditionalOnTasksEnabled` annotation so that the configuration won't fire if `task-enabled` is set to false.
Remove the `Disabled` annotation from the test so that we can verify that the `task-enabled` works properly.
  • Loading branch information
cppwfs authored Oct 16, 2024
1 parent b58af4a commit df26691
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import org.springframework.cloud.dataflow.server.config.web.WebConfiguration;
import org.springframework.cloud.dataflow.server.db.migration.DataFlowFlywayConfigurationCustomizer;
import org.springframework.cloud.dataflow.server.support.AuthenticationSuccessEventListener;
import org.springframework.cloud.dataflow.server.task.DataflowTaskConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorerConfiguration;
import org.springframework.cloud.task.configuration.TaskProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down Expand Up @@ -64,7 +64,7 @@
FeaturesConfiguration.class,
WebConfiguration.class,
H2ServerConfiguration.class,
DataflowTaskConfiguration.class,
DataflowTaskExplorerConfiguration.class,
DataFlowTaskConfiguration.class
})
@EnableConfigurationProperties({ BatchProperties.class, CommonApplicationProperties.class })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
import org.springframework.cloud.dataflow.server.service.impl.DefaultTaskSaveService;
import org.springframework.cloud.dataflow.server.service.impl.TaskAppDeploymentRequestCreator;
import org.springframework.cloud.dataflow.server.service.impl.TaskConfigurationProperties;
import org.springframework.cloud.dataflow.server.task.DataflowTaskConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorerConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExecutionQueryDao;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorer;
import org.springframework.cloud.dataflow.server.task.TaskDefinitionReader;
Expand Down Expand Up @@ -103,7 +103,7 @@
@EnableTransactionManagement
@Import({
TaskConfiguration.TaskDeleteServiceConfig.class,
DataflowTaskConfiguration.class,
DataflowTaskExplorerConfiguration.class,
DataFlowTaskConfiguration.class
})
public class TaskConfiguration {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import javax.sql.DataSource;

import org.springframework.cloud.dataflow.server.config.features.ConditionalOnTasksEnabled;
import org.springframework.cloud.dataflow.server.task.impl.DefaultDataflowTaskExplorer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand All @@ -27,11 +28,12 @@
*
* @author Corneil du Plessis
*/
@ConditionalOnTasksEnabled
@Configuration
public class DataflowTaskConfiguration {
public class DataflowTaskExplorerConfiguration {

@Bean
public DataflowTaskExplorer aggregateTaskExplorer(
public DataflowTaskExplorer dataflowTaskExplorer(
DataSource dataSource,
DataflowTaskExecutionQueryDao taskExecutionQueryDao,
TaskDefinitionReader taskDefinitionReader,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
import org.springframework.cloud.dataflow.server.service.impl.TaskAppDeploymentRequestCreator;
import org.springframework.cloud.dataflow.server.service.impl.TaskConfigurationProperties;
import org.springframework.cloud.dataflow.server.service.impl.validation.DefaultTaskValidationService;
import org.springframework.cloud.dataflow.server.task.DataflowTaskConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorerConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExecutionQueryDao;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorer;
import org.springframework.cloud.dataflow.server.task.impl.DefaultDataFlowTaskExecutionQueryDao;
Expand Down Expand Up @@ -139,7 +139,7 @@
@Configuration
@EnableSpringDataWebSupport
@Import({
DataflowTaskConfiguration.class,
DataflowTaskExplorerConfiguration.class,
DataFlowTaskConfiguration.class
})
@ImportAutoConfiguration({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
import org.springframework.cloud.dataflow.server.service.impl.TaskAppDeploymentRequestCreator;
import org.springframework.cloud.dataflow.server.service.impl.TaskConfigurationProperties;
import org.springframework.cloud.dataflow.server.service.impl.validation.DefaultTaskValidationService;
import org.springframework.cloud.dataflow.server.task.DataflowTaskConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorerConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExecutionQueryDao;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorer;
import org.springframework.cloud.dataflow.server.task.impl.DefaultDataFlowTaskExecutionQueryDao;
Expand Down Expand Up @@ -125,7 +125,7 @@
@EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL)
@Import({
CompletionConfiguration.class,
DataflowTaskConfiguration.class,
DataflowTaskExplorerConfiguration.class,
DataFlowTaskConfiguration.class
})
@ImportAutoConfiguration({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@
import org.springframework.cloud.dataflow.server.service.impl.validation.DefaultTaskValidationService;
import org.springframework.cloud.dataflow.server.stream.SkipperStreamDeployer;
import org.springframework.cloud.dataflow.server.stream.StreamDeployer;
import org.springframework.cloud.dataflow.server.task.DataflowTaskConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorerConfiguration;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExecutionQueryDao;
import org.springframework.cloud.dataflow.server.task.DataflowTaskExplorer;
import org.springframework.cloud.dataflow.server.task.impl.DefaultDataFlowTaskExecutionQueryDao;
Expand Down Expand Up @@ -204,7 +204,7 @@
@EnableSpringDataWebSupport
@Import({
CompletionConfiguration.class,
DataflowTaskConfiguration.class,
DataflowTaskExplorerConfiguration.class,
DataFlowTaskConfiguration.class,
ContainerRegistryAutoConfiguration.class,
TaskConfiguration.TaskJobServiceConfig.class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import java.util.Map;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.NoSuchBeanDefinitionException;
Expand Down Expand Up @@ -104,8 +103,6 @@ void configWithStreamsDisabled() {
}
}

//TODO: Boot3x followup
@Disabled("TODO: Boot3x DataflowServerConfiguration requires DataflowTaskExecutionQueryDao bean. Doesn't seem like it is needed.")
@Test
void configWithTasksDisabled() {
SpringApplication app = new SpringApplication(LocalTestDataFlowServer.class);
Expand Down

0 comments on commit df26691

Please sign in to comment.