Spring Cloud DataFlow 组合任务未启动

Posted

技术标签:

【中文标题】Spring Cloud DataFlow 组合任务未启动【英文标题】:Spring Cloud DataFlow Composed Task doesn't start 【发布时间】:2018-01-27 08:42:35 【问题描述】:

我正在尝试运行 SCDF 组合任务。 我创建的任何组合任务都执行相同的操作:执行 SQL 脚本:

从类路径资源 [org/springframework/cloud/task/schema-h2.sql] 执行 SQL 脚本`

然后执行暂停。在 SCDF 仪表板的 Executions 选项卡中,Start timeEnd time 我看到了 N/A

我正在使用 Spring Cloud DataFlow 1.2.3.RELEASE 和 编写的Task Runner 1.0.0.RELEASE。

这是日志的输出:

2017-08-18 18:20:09.455 INFO 828 --- [main] c.c.c.ConfigServicePropertySourceLocator:从服务器获取配置:http://localhost:8888 2017-08-18 18:20:10.528 WARN 828 --- [main] c.c.c.ConfigServicePropertySourceLocator:找不到 PropertySource:“http://localhost:8888/composedtaskrunner-task/default”的 GET 请求时出现 I/O 错误:连接被拒绝:连接;嵌套异常是 java.net.ConnectException: Connection denied: connect 2017-08-18 18:20:10.530 INFO 828 --- [main] .t.a.c.ComposedtaskrunnerTaskApplication:未设置活动配置文件,回退到默认配置文件:默认 2017-08-18 18:20:10.567 INFO 828 --- [main] s.c.a.AnnotationConfigApplicationContext:刷新 org.springframework.context.annotation.AnnotationConfigApplicationContext@61a52fbd:启动日期 [2017 年 8 月 18 日星期五 18:20:10 EEST];父:org.springframework.context.annotation.AnnotationConfigApplicationContext@3b95a09c 2017-08-18 18:20:10.903 INFO 828 --- [main] o.s.b.f.s.DefaultListableBeanFactory:用不同的定义覆盖 bean 'transactionManager' 的 bean 定义:替换 [Root bean: class [null];范围=;摘要=假;懒惰初始化=假;自动线模式=3;依赖检查=0;自动接线候选=真;主要=假; factoryBeanName=org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration; factoryMethodName=事务管理器;初始化方法名=空; destroyMethodName=(推断);在类路径资源 [org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.class]] 中定义,带有 [Root bean: class [null];范围=;摘要=假;懒惰初始化=假;自动线模式=3;依赖检查=0;自动接线候选=真;主要=假; factoryBeanName=org.springframework.cloud.task.configuration.SimpleTaskConfiguration; factoryMethodName=事务管理器;初始化方法名=空; destroyMethodName=(推断);在类路径资源 [org/springframework/cloud/task/configuration/SimpleTaskConfiguration.class] 中定义 2017-08-18 18:20:11.150 INFO 828 --- [主] os.cloud.context.scope.GenericScope:BeanFactory id=03034f55-14f0-32fd-9b4a-577a14282248 2017-08-18 18:20:11.161 WARN 828 --- [main] o.s.c.a.ConfigurationClassEnhancer:@Bean 方法 ScopeConfiguration.stepScope 是非静态的,并返回一个可分配给 Spring 的 BeanFactoryPostProcessor 接口的对象。这将导致无法处理方法的声明@Configuration 类中的@Autowired、@Resource 和@PostConstruct 等注解。将“静态”修饰符添加到此方法以避免这些容器生命周期问题;有关完整的详细信息,请参阅@Bean javadoc。 2017-08-18 18:20:11.167 WARN 828 --- [main] o.s.c.a.ConfigurationClassEnhancer:@Bean 方法 ScopeConfiguration.jobScope 是非静态的,并返回一个可分配给 Spring 的 BeanFactoryPostProcessor 接口的对象。这将导致无法处理方法的声明@Configuration 类中的@Autowired、@Resource 和@PostConstruct 等注解。将“静态”修饰符添加到此方法以避免这些容器生命周期问题;有关完整的详细信息,请参阅@Bean javadoc。 2017-08-18 18:20:11.218 INFO 828 --- [main] trationDelegate$BeanPostProcessorChecker:Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' 类型 [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$ $591cf5d8] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件) 2017-08-18 18:20:11.224 INFO 828 --- [main] trationDelegate$BeanPostProcessorChecker:[org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$ 类型的 Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' $3d02f2db] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件) 2017-08-18 18:20:11.250 INFO 828 --- [main] trationDelegate$BeanPostProcessorChecker:Bean 'org.springframework.cloud.task.batch.configuration.TaskBatchAutoConfiguration' 类型 [org.springframework.cloud.task.batch .configuration.TaskBatchAutoConfiguration$$EnhancerBySpringCGLIB$$c2729e67] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件) 2017-08-18 18:20:11.258 INFO 828 --- [main] trationDelegate$BeanPostProcessorChecker:Bean 'org.springframework.cloud.task.batch.listener.BatchEventAutoConfiguration' 类型 [org.springframework.cloud.task.batch .listener.BatchEventAutoConfiguration$$EnhancerBySpringCGLIB$$ac8a86a] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件) 2017-08-18 18:20:11.655 INFO 828 --- [main] osjdbc.datasource.init.ScriptUtils:从类路径资源 [org/springframework/cloud/task/schema-h2.sql] 执行 SQL 脚本

在服务器日志中,我看到很多不同的字符随着时间的推移而变化,例如: "[0x0][0x0][0x8][0x8][0x0][0xfa]CaJ[\r]3[0x99][0xd4][0x3][0x0][0x0][0x87][0x6][0x0][0x0]3[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0xa4][0x81] c[\n]"

抱歉格式化,无法正确格式化输出

【问题讨论】:

【参考方案1】:

解决了。 问题在于 Composed Task Runner 和 SCDF 中的 h2 版本不兼容。

【讨论】:

以上是关于Spring Cloud DataFlow 组合任务未启动的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Stream 为 Spring Cloud Dataflow 中的子任务设置全局属性 - Task-Launcher-Dataflow

在 Spring Cloud Dataflow 中引用属性

需要有关如何在多个专用服务器中创建部署 spring-cloud-dataflow 应用程序以创建流的建议

Spring Cloud Dataflow - 处理任务中的参数

Spring Cloud Dataflow 与 Apache Beam/GCP 数据流说明

我们如何在 Spring cloud dataflow kafka binder 中为 Kafka 维护租户数据隔离?