spring-cloud-dataflow
spring-cloud-dataflow copied to clipboard
composed task runner custom build with annotation
Problem description: Is your feature request related to a problem? Please provide a clear and concise description of what the problem is.
Solution description: Describe the solution you would like. We need a clear and concise description of what you want to happen. Also, have you considered cases outside the expected flow (edge cases)? What should happen in those cases?
Description of alternatives: Describe alternatives you have considered: We need a clear and concise description of any alternative solutions or features you have considered.
Additional context: Add any other context or explanation about the feature request here.
Hi all, SCDF my local environment with @EnableDataFlowServer is running on oracle but I get this error "Cannot load driver class: oracle.jdbc.OracleDriver" while run Composed Task Runner. CTR can run in a local environment with which annotation. Like @EnableDataFlowServer, @EnableSkipperServer. This way I can customize it with oracle driver. Like @EnableComposedTaskRunner.
Hi, @gpehh. Can you share your custom CTR repo with us?
A work around can be to pull down the SCDF project from github for the current release you are using and :
- cd to the spring-cloud-dataflow-composed-task-runner module
- Add the oracle driver to pom.xml in the module.
- Execute the
mvn clean installcommand.
However, there was a bug report for the oracle driver that has been resolved by a PR for this issue: https://github.com/spring-cloud/spring-cloud-dataflow/issues/4680. It is awaiting a merge.
@sabbyanandan do we want to explore annotated CTR option? i.e. @EnableComposedTaskRunner
Perhaps, for now, let's get validation on the custom build approach, and understand the challenges (if there's any) with that approach. That can help guide how we can optimize it for the users.
When we start the application with oracle driver using @EnableDataFlowServer annotation, CTR not work on oracle. For this, we also want to create a CTR application using annotation (like @EnableComposedTaskRunner). By running this project with oracle driver, we can give this application address with composedtaskrunneruri.
Thank you in advance for your support
Is there a development plan for this?
@cppwfs - we also need this feature as we need a custom definition for JobParametersIncrementer for the CTR to make our appications restartable with a custom batch parameter set.
My sugguestion would be to:
- Rename spring-cloud-dataflow-composed-task-runner to spring-cloud-dataflow-composed-task-runner-core
- Add a @interface to the CTR core project like for scdf server: https://github.com/spring-cloud/spring-cloud-dataflow/blob/main/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/EnableDataFlowServer.java
- Add a configuration to the CTR core project like https://github.com/spring-cloud/spring-cloud-dataflow/blob/main/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/config/EnableDataFlowServerConfiguration.java
- Move the CTR Task Application into the new project
Both classes in 2. and 3. should be added to https://github.com/spring-cloud/spring-cloud-dataflow/tree/main/spring-cloud-dataflow-composed-task-runner/src/main/java/org/springframework/cloud/dataflow/composedtaskrunner as there is no special package for configs.