问题标签 [spring-cloud-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
436 浏览

spring - 我可以从 ftp 服务器向 Spring Cloud Data Flow 注册应用程序吗?

我正在尝试从在 PCF 上运行的 spring 云数据流容器注册驻留在 ftp 服务器中的 spring 云任务 jar。

如果 SCDF 支持,有人可以帮助我如何从 SCDF 的 ftp 位置进行“应用程序注册”吗?如何使用用户名和密码将 ftp 位置注册为远程存储库?

谢谢!尼兰詹

0 投票
2 回答
218 浏览

spring-cloud-stream - TaskLauncher cloudfoundry 任务启动问题

我尝试使用 task-launcher-cloudfoundry-sink-rabbit-1.2.0.RELEASE 但是当任务正在创建并处于暂存模式时,任务崩溃了。有任何想法吗?任务启动器日志:

`2017-06-28T13:34:58.95+0200 [APP/PROC/WEB/0] OUT 2017-06-28 11:34:58.954 INFO 14 --- [yexp5qFW6l-Pw-1] osctask.launcher.TaskLauncherSink :为以下资源启动任务 TaskLaunchRequest{uri=' http://artifactor 2017-06-28T13:34:58.95+0200 [APP/PROC/WEB/0] OUT 2017-06-28 11:34:58.955 INFO 14 --- [yexp5qFW6l-Pw-1] oscdrsDelegatingResourceLoader:重用缓存文件 /home /vcap/tmp/deployer-resource-cache5895756579145891352/http 2017-06-28T13:34:59.14+0200 [APP/PROC/WEB/0] OUT 2017-06-28 11:34:59.149 错误 14 --- [ry -client-nio-1] scCloudFoundry2630AndLaterTaskLauncher:任务 Maus 启动失败 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$10( ErrorPayloadMapper.java:107) ~[cloudfoundry-client-reactor-2.4.0.RELEASE.jar!/:2.4.0.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT org.cloudfoundry.client.v3.ClientV3Exception:CF-UnprocessableEntity(10008):请求在语义上无效:任务必须有一个 droplet。指定液滴或分配当前液滴 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$3(ErrorPayloadMapper.java:65) ~ [cloudfoundry-client-reactor-2.4.0.RELEASE.jar!/:2.4.0.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 reactor.core.publisher .FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:108) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC /WEB/0] 出在 reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:412) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE] 2017-06 -28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT 在 reactor.core.publisher.MonoThenMap$MonoThenApplyMain.onNext(MonoThenMap.java:100) ~[reactor-core-3.0.5.RELEASE.jar !/:3.0.5.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 出在 reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) ~[ reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 出在 reactor.core.publisher.FluxMapFuseable$ MapFuseableSubscriber.onNext(FluxMapFuseable.java:119) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/ 0] 在 reactor.core.publisher.FluxUsing$UsingFuseableSubscriber.onNext(FluxUsing.java:320) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5.RELEASE] 2017-06-28T13: 34:59.15+0200 [APP/PROC/WEB/0] 出在 reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:928) ~[reactor-core-3.0.5.RELEASE.jar!/: 3.0.5.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 reactor.ipc.netty 上发布。channel.ChannelOperations.onHandlerTerminate(ChannelOperations.java:499) ~[reactor-netty-0.6.0.RELEASE.jar!/:na] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0]在 reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:469) ~[reactor-netty-0.6.0.RELEASE.jar!/:na] 2017-06-28T13:34:59.15+ 0200 [APP/PROC/WEB/0] OUT 在 reactor.core.publisher.MonoReduceSeed$ReduceSeedSubscriber.onComplete(MonoReduceSeed.java:142) ~[reactor-core-3.0.5.RELEASE.jar!/:3.0.5。发布] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) ~[reactor-core-3.0. 5.RELEASE.jar!/:3.0.5.RELEASE] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 reactor.ipc.netty.channel.FluxReceive.onInboundComplete(FluxReceive. java:315) ~[reactor-netty-0.6.0.RELEASE.jar!/:na] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 出在 reactor.ipc.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:427) ~[ reactor-netty-0.6.0.RELEASE.jar!/:na] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 reactor.ipc.netty.channel.ChannelOperationsHandler.channelRead( ChannelOperationsHandler.java:113) ~[reactor-netty-0.6.0.RELEASE.jar!/:na] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty。 channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/ WEB/0] 在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13: 34:59。15+0200 [APP/PROC/WEB/0] 输出于 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) ~[netty-all-4.1.8.Final.jar!/:4.1.8。最终] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) ~[netty-all-4.1. 8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder. java:267) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io. netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/ PROC/WEB/0] 在 io.netty.channel 输出。AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/ 0] 在 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34: 59.15+0200 [APP/PROC/WEB/0] 输出于 io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1228) ~[netty-all-4.1.8.Final.jar!/:4.1. 8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1039) ~[netty-all- 4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext. java:341) ~[netty-all-4.1.8.Final.jar!/:4.1.8.最终] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) ~[netty-all-4.1. 8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder. java:411) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io. netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [ APP/PROC/WEB/0] 出在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017- 06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 在 io.netty 上发布。channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/ WEB/0] 在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13: 34:59.15+0200 [APP/PROC/WEB/0] 输出于 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) ~[netty-all-4.1.8.Final.jar!/:4.1. 8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) ~[netty-all-4.1. 8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 出在 io.netty.channel.nio。AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/ WEB/0] 输出于 io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:642) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06- 28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出于 io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:565) ~[netty-all-4.1.8.Final.jar! /:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 出在 io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:479) ~[ netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 出在 io.netty.channel.nio。 NioEventLoop.run(NioEventLoop.java:441) ~[netty-all-4.1.8.Final.jar!/:4.1.8.Final] 2017-06-28T13:34:59。15+0200 [APP/PROC/WEB/0] 输出于 io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[netty-all-4.1.8.Final.jar!/:4.1 .8.Final] 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_111] 2017 -06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出抑制:reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/ 0] 来自生产者 [reactor.core.publisher.MonoPeek] 的 OUT 装配跟踪:2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.Mono.checkpoint(Mono. java:1286) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT org.cloudfoundry.reactor.client.v3.tasks.ReactorTasks.create(ReactorTasks.java:58) 2017-06 -28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT org.springframework。cloud.deployer.spi.cloudfoundry.CloudFoundry2630AndLaterTaskLauncher.requestCreateTask(CloudFoundry2630AndLaterTaskLauncher.java:197) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT org.springframework.cloud.deployer.spi.cloudfoundry .CloudFoundry2630AndLaterTaskLauncher.launchTask(CloudFoundry2630AndLaterTaskLauncher.java:169) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundry2630AndLaterTaskLauncher.lambda$launch$0 (CloudFoundry2630AndLaterTaskLauncher.java:96) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.MonoThenMap$MonoThenApplyMain.onNext(MonoThenMap.java:100) 2017-06- 28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:928) 2017-06-28T13:34:59。15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.MonoThenMap$MonoThenApplyMain$SecondSubscriber.onNext(MonoThenMap.java:202) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB /0] OUT reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:165) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.MonoNext $NextSubscriber.onNext(MonoNext.java:78) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.MonoFlatMap$FlattenSubscriber$InnerSubscriber.onNext(MonoFlatMap.java:199) 2017-06-28T13:34:59.15 +0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) 2017-06-28T13:34:59。15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:119) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0 ] OUT reactor.core.publisher.FluxUsing$UsingFuseableSubscriber.onNext(FluxUsing.java:320) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber .onNext(FluxFilterFuseable.java:108) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:412) 2017- 06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:928) 2017-06-28T13:34:59.15+0200 [APP /PROC/WEB/0] OUT reactor.core.publisher.MonoReduceSeed$ReduceSeedSubscriber。onComplete(MonoReduceSeed.java:142) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136) 2017-06 -28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.ipc.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:315) 2017-06-28T13:34:59.15+0200 [APP/ PROC/WEB/0] OUT reactor.ipc.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:427) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.ipc。 netty.channel.ChannelOperations.onHandlerTerminate(ChannelOperations.java:499) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations .java:469) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT reactor.ipc.netty.channel.ChannelOperationsHandler。channelRead(ChannelOperationsHandler.java:113) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) 2017-06-28T13 :34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/ 0] OUT io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead( AbstractChannelHandlerContext.java:349) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:271) 2017-06-28T13:34:59.15 +0200 [APP/PROC/WEB/0] 输出 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io .netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.handler.codec.ByteToMessageDecoder.channelRead( ByteToMessageDecoder.java:267) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) 2017-06-28T13:34 :59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel。AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) 2017-06 -28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1228) 2017-06-28T13:34:59.15+0200 [APP/ PROC/WEB/0] 输出 io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1039) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty。 handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java :248) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty.channel。AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) 2017-06 -28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) 2017-06-28T13:34:59.15+0200 [APP/PROC/ WEB/0] 输出 io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty.channel。 AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.AbstractChannelHandlerContext。invokeChannelRead(AbstractChannelHandlerContext.java:349) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) 2017-06-28T13 :34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129) 2017-06-28T13:34:59.15+0200 [APP/ PROC/WEB/0] 输出 io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:642) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty。 channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:565) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java :479) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] 输出 io.netty.channel.nio.NioEventLoop。run(NioEventLoop.java:441) 2017-06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) 2017- 06-28T13:34:59.15+0200 [APP/PROC/WEB/0] OUT 错误已被观察到

0 投票
2 回答
675 浏览

cloud-foundry - 无法从 Spring Cloud Dataflow 容器错误 CF-UnprocessableEntity(10008) 在 Pivotal CF 上部署/运行任务

尝试使用 Spring Cloud Data Flow 部署 Java Spring Boot 应用程序/任务。但它因以下异常而失败

CF-UnprocessableEntity(10008):请求在语义上无效:任务必须有一个 droplet。指定 droplet 或将当前 droplet 分配给应用程序。

通过 SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_API-TIMEOUT 到 720 和 SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_TASK_TASK_TIMEOUT 到 360 尝试了以下解决方案,但没有奏效。

TaskLauncher cloudfoundry 任务启动问题

https://github.com/spring-cloud-stream-app-starters/tasklauncher-cloudfoundry/blob/master/spring-cloud-starter-stream-sink-task-launcher-cloudfoundry/README.adoc#remote-repositories

在此处查找日志 -

2017-07-13T14:19:42.326+05:30 [RTR/0] [OUT] data-flow-server.apps.titan.lab.emc.com - [2017-07-13T08:49:42.285+0000] "GET /tasks/definitions?page=0&size=10&sort=DEFINITION_NAME,DEFINITION,ASC HTTP/1.0" 200 0 682 " https://data-flow-server.apps.titan.lab.emc.com/dashboard/index. htmlonNext(FluxSwitchIfEmpty.java:67) ~[reactor-core-3.0.7.RELEASE.jar!/:3.0.7.RELEASE] 2017-07-13T14:19:42.956+05:30 [APP/PROC/WEB/ 0] [OUT] 在 reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:108) ~[reactor-core-3.0.7.RELEASE.jar!/:3.0.7.RELEASE] 2017-07- 13T14:19:42.956+05:30 [APP/PROC/WEB/0] [OUT] org.cloudfoundry.client.v3.ClientV3Exception: CF-UnprocessableEntity(10008): 请求在语义上无效:任务必须有一个 droplet。指定 droplet 或将当前 droplet 分配给应用程序。2017-07-13T14:19:42.956+05:30 [APP/PROC/WEB/0] [OUT] at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$3(ErrorPayloadMapper.java:65) ~[cloudfoundry -client-reactor-2.14.0.RELEASE.jar!/:2.14.0.RELEASE] 2017-07-13T14:19:42.956+05:30 [APP/PROC/WEB/0] [OUT] at org.cloudfoundry .reactor.util.ErrorPayloadMapper.lambda$null$10(ErrorPayloadMapper. 30 [APP/PROC/WEB/0] [OUT] 2017-07-13 08:49:42.969 错误 14 --- [nio-8080-exec-8] oscdscRestControllerAdvice:处理请求时捕获异常 2017-07-13T14 :19:42.971+05:30 [APP/PROC/WEB/0] [OUT] org.cloudfoundry.client.v3.ClientV3Exception: CF-UnprocessableEntity(10008): 请求在语义上无效:任务必须有一个 droplet。指定 droplet 或将当前 droplet 分配给应用程序。2017-07-13T14:19:42.971+05:30 [APP/PROC/WEB/0] [OUT] at org.cloudfoundry.reactor.util.ErrorPayloadMapper.lambda$null$3(ErrorPayloadMapper.java:65) ~[cloudfoundry -client-reactor-2.14.0.RELEASE.jar!/:2.14.0.RELEASE] 2017-07-13T14:19:42.971+05:30 [APP/PROC/WEB/0] [OUT] at org.cloudfoundry .reactor.util.ErrorPayloadMapper.lambda$null$10(ErrorPayloadMapper.java:108) ~[cloudfoundry-client-reactor-2.14.0.RELEASE.jar!/:2.14.0.RELEASE] 2017-07-13T14:19: 42.971+05:

0 投票
1 回答
337 浏览

spring - 每个spring cloud tasktrigger都需要一个JVM进程吗?

我们今天有许多批处理作业,它们是通过单个应用程序中的 cron 表达式安排的。我们希望更多地隔离这些工作,因此将它们转移到 Spring Cloud 任务中。

但是阅读文档 [1],我得出的结论是,我必须使用一个triggertask(源),然后将一个(源)发送TaskLaunchRequest到一个tasklauncher(接收器)以最终启动新进程。

这意味着(如果我只有一个任务/批次)我至少需​​要运行以下 JVM 进程来触发一个新进程:

  • 流服务器
  • 触发任务(来源)
  • 任务启动器(接收器)

好的,流服务器和任务启动器将为任何即将到来的任务共享,但 triggertask 只能为单个任务获取 cron 定义,因此必须为任何即将到来的任务定义进行复制。所以我每个任务至少需要一个“保姆流程”?

真的???这听起来像是一个巨大的矫枉过正......从我的角度来看,我希望 cron 调度是任务定义的核心功能,所以唯一需要的是流服务器。

我理解这个正确还是我错过了什么?在 Spring Cloud 环境中是否有更简单的方法可以做到这一点?我真的很喜欢让流服务器在需要时启动新的 JVM 的想法,但是所有这些额外的过程确实感觉是错误的方法。

如果这应该在 CloudFoundry 上运行,例如http://run.pivotal.io那么这意味着我有一个 cron 调度程序用于单个作业,成本为 35 美元/月(因为从 Java BuildPack 4.0 开始,只有 512MB 的 JVM 进程将不再启动 [ 2]) - 这是一个昂贵的 cron 定义......

[1] https://github.com/spring-cloud/spring-cloud-stream-app-starters/tree/master/triggertask/spring-cloud-starter-stream-source-triggertask [2] https://www .cloudfoundry.org/just-released-java-buildpack-4-0/

0 投票
0 回答
576 浏览

spring-cloud-dataflow - Spring Cloud 数据流中的批处理作业示例

当我尝试将批处理作业示例部署在本地 SpringCloudDataFlow 中时,它似乎不起作用。为了进行测试,我使用了 spring-cloud-task 1.2.1.RELEASE 和 cloud-dataflow-server-local-1.2.3.RELEASE。

要进行测试,我已按照以下步骤操作:

  • 构建 spring-cloud-task-samples/batch-job
  • 使用 url maven://io.spring.cloud:batch-job:jar:1.2.1.RELEASE 在 spring 数据流中注册应用程序并键入 Task
  • 从任务选项卡定义不带参数的任务
  • 运行

当我说“似乎不起作用”时,我的意思是在 stdout.log 中我正在等待“Job1 已运行”,但我什么也没找到,而且 stderr 是空的。

难道我做错了什么 ?

感谢帮助

0 投票
2 回答
562 浏览

spring-integration - Spring Cloud DataFlow http 轮询和去重

我一直在阅读大量 Spring Cloud DataFlow 和相关文档,以便生成将在我组织的 Cloud Foundry 部署中运行的数据摄取解决方案。目标是轮询 HTTP 服务以获取数据,为了讨论可能每天 3 次,然后在 PostgreSQL 数据库中插入/更新该数据。HTTP 服务似乎每天提供数十万条记录。

到目前为止,令人困惑的一点是在 DataFlow 管道上下文中对轮询记录进行重复数据删除的最佳实践。源数据没有时间戳字段来帮助跟踪轮询,只有粗略的日级别日期字段。我也不能保证不会追溯更新记录。这些记录似乎有一个唯一的 ID,因此我可以通过这种方式对记录进行重复数据删除,但我只是不确定根据文档如何最好地在 DataFlow 中实现该逻辑。据我所知,Spring Cloud Stream 启动器不提供这种开箱即用的功能。我正在阅读有关 Spring Integration 的smart polling的信息,但我不确定这是否也能解决我的担忧。

我的直觉是在 DataFlow Stream 中创建一个自定义处理器 Java 组件,该组件执行数据库查询以确定是否已插入轮询记录,然后将适当的记录插入目标数据库,或者将它们传递到流的下游。在 Stream 应用程序中是否可以接受在中间步骤中查询目标数据库?或者,我可以在 Spring Cloud Task 中将这一切作为一个批处理操作来实现,该操作基于某个计划触发。

处理 DataFlow 应用程序的最佳方法是什么?如我在 DataFlow/Stream/Task/Integration 应用程序中所述,实现重复数据删除的常见/最佳实践是什么?我应该复制入门应用程序的设置还是从头开始,因为我相当确定我需要编写自定义代码?我什至需要 Spring Cloud DataFlow,因为我不确定我是否会使用它的 DSL?对所有问题表示歉意,但是对于 Cloud Foundry 和所有这些 Spring 项目来说是新手,将它们拼凑在一起是令人生畏的。

提前感谢您的帮助。

0 投票
0 回答
80 浏览

spring-integration - 使用 Spring Cloud 任务时,Spring 集成文件入站适配器正在关闭

我开发了一个示例 spring 批处理集成示例,它轮询目录并为每个文件触发批处理作业。

只要我不使用弹簧云任务,它就会按预期工作。

如果我要添加@EnableTask到批处理配置文件中,轮询器会因为哪个应用程序本身被停止而停止。

示例项目可以从github下载。

@EnableTask要重现该问题,请在 pom.xml中取消注释BatchConfiguration和 spring cloud starter 依赖项。

0 投票
1 回答
878 浏览

java - Spring Cloud Data Flow 将数据传递给任务

如何将数据传递给我的 Spring Cloud DataFlow 任务?

我需要传递一些我的任务将在其上运行的 POJO。可能吗?

0 投票
1 回答
486 浏览

java - Spring Cloud DataFlow 组合任务未启动

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

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

在那一点上,执行暂停。在ExecutionsSCDF 仪表板的选项卡中Start timeEnd time我看到了N/A.

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

这是日志的输出:

2017-08-18 18:20:09.455 INFO 828 --- [main] cccConfigServicePropertySourceLocator:从服务器获取配置:http://localhost:8888 2017-08-18 18:20:10.528 WARN 828 --- [ main ] cccConfigServicePropertySourceLocator:找不到 PropertySource:对“ http://localhost:8888/composedtaskrunner-task/default的 GET 请求出现 I/O 错误摘要=假;懒惰初始化=假;自动线模式=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 --- [主] oscloud.context.scope.GenericScope : BeanFactory id=03034f55-14f0-32fd-9b4a-577a14282248 2017-08-18 18:20:11.161 WARN 828 --- [主] oscaConfigurationClassEnhancer :@Bean 方法 ScopeConfiguration.stepScope 是非静态的,并返回一个可分配给 Spring 的 BeanFactoryPostProcessor 接口的对象。这将导致无法处理方法的声明@Configuration 类中的@Autowired、@Resource 和@PostConstruct 等注解。将“静态”修饰符添加到此方法以避免这些容器生命周期问题;有关完整的详细信息,请参阅@Bean javadoc。2017-08-18 18:20:11.167 WARN 828 --- [main] oscaConfigurationClassEnhancer:@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 处理(例如:

在服务器日志中,我看到很多不同的字符随着时间的推移而变化,例如: "[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]"

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

0 投票
1 回答
342 浏览

spring-cloud-stream - 无法使用弹簧云流执行任务

我有三个应用程序作为源,处理器和接收器。源能够将消息传递给处理器,但处理器无法将消息发送给接收器并引发异常。尝试在本地使用 spring 云流执行任务,所以我的接收器 pom 文件中有 spring-cloud-deployer-local 并且主类也用@EnableTaskLauncher 注释。如果有人可以提供同样的萨莫尔,那也会有所帮助。

处理器

来源错误

请有人调查一下,需要更多信息让我知道