spring-cloud-dataflow icon indicating copy to clipboard operation
spring-cloud-dataflow copied to clipboard

composed task runner custom build with annotation

Open gpehh opened this issue 4 years ago • 7 comments
trafficstars

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.

gpehh avatar Jun 25 '21 08:06 gpehh

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.

gpehh avatar Jun 25 '21 09:06 gpehh

Hi, @gpehh. Can you share your custom CTR repo with us?

sabbyanandan avatar Sep 20 '21 21:09 sabbyanandan

A work around can be to pull down the SCDF project from github for the current release you are using and :

  1. cd to the spring-cloud-dataflow-composed-task-runner module
  2. Add the oracle driver to pom.xml in the module.
  3. Execute the mvn clean install command.

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.

cppwfs avatar Sep 20 '21 23:09 cppwfs

@sabbyanandan do we want to explore annotated CTR option? i.e. @EnableComposedTaskRunner

cppwfs avatar Oct 20 '21 15:10 cppwfs

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.

sabbyanandan avatar Oct 20 '21 15:10 sabbyanandan

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

gpehh avatar Oct 25 '21 13:10 gpehh

Is there a development plan for this?

gpehh avatar Mar 04 '22 22:03 gpehh

@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:

  1. Rename spring-cloud-dataflow-composed-task-runner to spring-cloud-dataflow-composed-task-runner-core
  2. 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
  3. 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
  4. 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.

klopfdreh avatar Jun 05 '23 04:06 klopfdreh