问题标签 [spring-xd]

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 回答
123 浏览

spring - 使用spring批处理作业将jdbc导入HDFS

我可以使用 JDBCHDFC Spring Batch 作业将数据从我的 MS sql 导入 HDFS。但如果容器失败,则作业不会转移到其他容器。我如何继续使作业容错。我正在使用 spring xd 1.0.1 版本

0 投票
1 回答
565 浏览

spring - Spring XD:具有拆分、连接和本地执行的管道链

我想实现以下目标:

  • 给定 URL 列表(png 图像),并行下载文件(拆分)
  • 在并行进程中转换下载文件的文件格式(例如 png2jpg in.png out.jpg)
  • 等到所有文件都转换完毕,然后将所有文件提取到一个位置并对它们进行最终操作(例如,从所有图像中创建一个巨大的马赛克图像)

提供图像转换作为示例。我的处理实际上更复杂,但我试图通过我需要拆分文件处理以及我需要对加入操作后进行最终处理来满足要求。

我有一个基本的想法,Spring XD 管道是如何链接的(类似于壳管)。有一个拆分器和一个聚合器。我的期望是我可以将文件作为对象传递给下一个管道。

但是,二进制对象、集合和拆分/聚合操作如何在 XD 中一起发挥作用?

如果您能给我提供一个工作示例(例如,为了简单起见,而不是转换触发 shell 任务“cat file1 file2 > outputfile”),这对我很有帮助。

[1] https://github.com/spring-projects/spring-xd/wiki/Processors#splitter

0 投票
1 回答
263 浏览

spring-xd - 如何从 Spring XD 的 twittersearch 流中设置代理详细信息?

我已经设置了一个单节点 Spring XD 并运行 XD Shell。运行这些的主机不会暴露在互联网上,因此我无法使用 Spring XD 开箱即用的 twittersearch 流。它抛出java.net.UnknownHostException: api.twitter.com

现在我的问题是,如何将代理详细信息设置为 Spring XD,以便它可以使用它们与 Twitter 联系?

0 投票
1 回答
312 浏览

spring - 如何确保在进入下一个作业步骤之前完成所有步骤分区

在我的工作中,我有一个数据库导出到 csv 分区。下一步使用 MultiResourceItemReader 将这些文件合并到一个文件中。

我的问题是合并步骤开始时文件似乎不可用。我得到了这个例外

但是在作业失败后,所有部分 csv 文件都在导出目录中可用。在 spring 批处理参考中,它实际上在第 16 页列出了这个非常架构的考虑:

此外,架构应该考虑分区的合并。关键问题包括: • 在进入下一个工作步骤之前必须完成所有分区吗?

我已经在文档和网络上搜索了如何确保在进入下一个工作步骤之前完成所有步骤分区的答案,但似乎找不到答案。

不过,这一定是一个普遍的考虑,显然我错过了一些重要的东西。

0 投票
1 回答
379 浏览

java - Spring XD - 模块“source:trigger”无法按预期工作

我对模块“source:trigger”应该如何在 Spring XD 中工作感到有点困惑。根据文档,您可以提供开始日期和固定延迟,理论上定义触发器的流应该只在该时间开始并根据固定延迟重复自身。

例如:

部署后,预计此流将在 2014 年 8 月 12 日的 23:35:00 首次触发(使用日期格式 = "MM/dd/yy HH:mm:ss");但是,它会在部署后立即触发,无论时间是什么:

如日志所示,流“s1”实际上是在 23:33:28 开始的,比预期的要早。一旦启动,它会按照固定延迟的配置每 10 秒重复一次:

因此,为什么这个流不考虑“日期”参数,而只是在部署时触发?这是 Spring XD 中的错误还是预期行为?如果是后者,我该如何设置这样的触发器,使其仅在给定时间触发?

顺便说一句,我启动 Spring XD 将系统属性“user.timezone”设置为“CET”,只是为了确保 Spring XD 使用我正在使用的相同 TimeZone。

0 投票
1 回答
326 浏览

spring-xd - 使用自定义 ObjectMapper 进行 Spring XD Json 到 Java 的转换

是否有一种简单的方法可以使用自定义 ObjectMapper (Jackson) 将 JSON 有效负载转换为 Java 对象,或者我是否必须提供自定义类型转换器。我知道我可以使用处理器,但不知何故最好使用流定义的输入和输出类型。

在第二种情况下:我什至能够为应用程序/json 到 Java 提供自定义类型转换器吗?

文档指出:“customMessageConverters 按定义的顺序添加在标准转换器之后。因此,为新媒体类​​型添加转换器通常比替换现有转换器更容易。”

我敢打赌,有一个现有的“应用程序/json”转换器——但乍一看,如果甚至可以替换现有的转换器,我找不到更多信息。

谢谢!彼得

0 投票
1 回答
84 浏览

spring-xd - 如何在 spring-xd 中定义的流中为具有多个实例的模块指定不同的选项值?

例如,我想在 Spring-XD 中定义一个流,'source1 | sink1' 和 'source1' 模块有一个选项:'option1'。

我喜欢做的是将'source1'配置为具有多个实例(这在Spring-XD中是可行的),同时,我喜欢让'source1'的每个实例在'option1'上具有不同的值。

Spring-xd 中当前可用的 DSL 设计是否可行?

0 投票
3 回答
223 浏览

spring-xd - Spring XD:“tcp”源输出字节数组而不是字符串?如何输出常规文本?

目标是读取通过网络发出的数据。

在数据生成方面,我有一个向标准输出发送的应用程序。该数据的内容是一个 JSON 字符串。

这就是我正在做的事情(在 Linux Mint 17 上,使用 BSD 风格的 netcat):

数据生成:

在 SpringXD 中:(带有xd-singlenode

输出:

我确定这是用户错误,但不确定要更改什么才能使其正确。

我应该注意,如果我这样做,它会按预期工作:

0 投票
1 回答
1114 浏览

spring - Spring-XD Curator 连接超时

在 Spring-XD 中,Curator Connection 超时:

WARN ConnectionStateManager-0 curator.ConnectionState - 在 63021 之后连接尝试不成功(大于 60000 的最大超时)。重置连接并使用新连接重试。

Curator 尝试重新建立连接,但失败了。请检查下面的日志。有没有人遇到过类似的问题?如果您知道解决问题的任何方法或知道任何解决方法,请告诉我。

另外默认的 Curator 连接超时是 60000。有没有办法增加它?spring-xd 是否公开可以设置的属性?

0 投票
1 回答
272 浏览

jms - spring xd jms 源中的 Activemq 通配符支持?

我',使用带有spring xd 1.1的activemq 5.9。我想订阅 activemq 主题。所以,我正在使用 jms 源。Activemq 支持 * , > 等通配符。> 用于递归匹配从此名称开始的任何目标我在订阅 jms 源时尝试使用此通配符,如下所示:
stream create --name streamname --definition "jms --clientId=1 --destination=springin.> --durableSubscription=true --pubSub=true --subscriptionName=streamName | null"

错误:命令失败 org.springframework.xd.rest.client.impl.SpringXDException: XD133E:(pos 42): 'queue' 或 'topic' 的预期频道前缀,但发现 '--' jms --clientId=1 --目的地=springin.> --durableSubscription=true --pubSub=true --subscriptionName=streamName | 无效的

但是当我尝试这样的事情时:
stream create --name streamname --definition "jms --clientId=3 --destination=springin.*.tp1 --durableSubscription=true --pubSub=true --subscriptionName=streamName | null"
正在创建流。

所以支持'*'但'>'不起作用。我想使用这个 '>' 通配符。有什么解决方法吗?