问题标签 [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 回答
190 浏览

mongodb - Spring XD - 工作中的 UDP

我一直在使用 Spring XD 来持续摄取传感器数据,它运行良好。

我的新要求是能够“重放”部分数据。在我的特殊情况下,它将从 MongoDB 读取(带有特定查询),生成具有特定条目字段的 UDP 数据包,并在固定的时间间隔内将其发送到 SocketAddress。

我正在实施的第一次尝试是通过 spring-batch 作业。读者很简单,因为它只是查询 MongoDB 的数据,但我担心 UDP 部分。使用 spring-batch 发送 UDP 数据包感觉不自然,所以我想知道是否有人可以建议我实现这个的想法。

谢谢

0 投票
0 回答
665 浏览

hibernate - MS Sql 和 Hibernate entityManagerFactory 与 Spring XD 中的 DAO

是否可以在 Spring XD 中将 entityManagerFactory 与 DAOMS Sql一起使用?Hibernate

我的项目中有一个配置类,我在其中编写了项目所需配置所需的 Bean,例如我的DataSourceJDBCTemplate.

我也有豆类

当我在 Spring XD 中部署我的项目时,

我得到异常:

然后,我添加了 spring-boot-starter-data-jpa 的依赖,我得到了异常

我试图在提供和不提供范围的情况下包括对 Spring Boot 的依赖。我什至尝试添加依赖项

到本地 POM。

我还将依赖项直接移动到 Spring XD lib 文件夹,然后我得到了异常:

当我设置 hibernate.dialect 我的异常看起来像:

16:39:23,344 错误 DeploymentsPathChildrenCache-0 server.ContainerRegistrar - 异常部署模块 java.lang.IllegalArgumentException:无法实例化接口 org.springframework.boot.SpringApplicationRunListener:org.springframework.boot.context.event.EventPublishingRunListener 在 org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:381) 在 org.springframework.boot.SpringApplication.getRunListeners(SpringApplication.java:352) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:274 ) 在 org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) 在 org.springframework.xd.module.core.SimpleModule.initialize(SimpleModule.java:203) 在 org.springframework.xd.dirt。 module.ModuleDeployer.deploy(ModuleDeployer.java:98) at org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:88) at org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer. java:78) 在 org.springframework.xd.dirt.server.ContainerRegistrar.deployModule(ContainerRegistrar.java:231) 在 org.springframework.xd.dirt.server.ContainerRegistrar.onChildAdded(ContainerRegistrar.java:447) 在 org.springframework.xd 的 org.springframework.xd.dirt.server.ContainerRegistrar.deployJobModule(ContainerRegistrar.java:530) .dirt.server.ContainerRegistrar.access$800(ContainerRegistrar.java:95) 在 org.springframework.xd.dirt.server.ContainerRegistrar$DeploymentListener.childEvent(ContainerRegistrar.java:826) 在 org.apache.curator.framework.recipes。 cache.PathChildrenCache$5.apply(PathChildrenCache.java:509) at org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:503) at org.apache.curator.framework.listen.ListenerContainer$1 .run(ListenerContainer.java:92) at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) at org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:83) 在 org.apache.curator.framework.recipes.cache.PathChildrenCache.callListeners(PathChildrenCache.java:500) 在 org.apache.curator.framework。 recipes.cache.EventOperation.invoke(EventOperation.java:35) at org.apache.curator.framework.recipes.cache.PathChildrenCache$10.run(PathChildrenCache.java:762) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:471) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java:166) 在 java.util.concurrent。 Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java .util.并发。ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) 原因:java.lang .IllegalArgumentException:类 org.springframework.boot.context.event.EventPublishingRunListener 不能分配给 org.springframework.util.Assert.isAssignable(Assert.java:369) 的 org.springframework.util 的接口 org.springframework.boot.SpringApplicationRunListener .Assert.isAssignable(Assert.java:352) 在 org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 更多lang.IllegalArgumentException:类 org.springframework.boot.context.event.EventPublishingRunListener 不能分配给 org.springframework.util.Assert.isAssignable(Assert.java:369) 处的接口 org.springframework.boot.SpringApplicationRunListener。 org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) 上的 util.Assert.isAssignable(Assert.java:352) ... 还有 29 个lang.IllegalArgumentException:类 org.springframework.boot.context.event.EventPublishingRunListener 不能分配给 org.springframework.util.Assert.isAssignable(Assert.java:369) 处的接口 org.springframework.boot.SpringApplicationRunListener。 org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) 上的 util.Assert.isAssignable(Assert.java:352) ... 还有 29 个getSpringFactoriesInstances(SpringApplication.java:375) ... 还有 29 个getSpringFactoriesInstances(SpringApplication.java:375) ... 还有 29 个

是否有人知道可能导致此异常的原因?

非常感谢有关 Spring-XD 的上述工作示例的帮助。

谢谢

0 投票
1 回答
613 浏览

hibernate - Spring-Data-jpa 与 Spring XD

我有我的带有 Beans 的配置类,如下所述

和 Maven 依赖项看起来像:

当我在 Spring XD 中部署模块时,出现以下异常

是否可以在 Spring XD 环境中使用带有上述 Bean 的配置类?

任何尽快的帮助将不胜感激。

谢谢

0 投票
1 回答
1295 浏览

spring - Spring XD 使用 redis 作为传输时性能非常差

我在本地机器上部署了分布式配置。

1 个管理员 1 个容器 1 个动物园管理员 1 个 hsql 1 个 redis

我有以下流:

我想使用以下部署描述符进行部署:

消息是 json 对象。

这个想法是为使用来自 apache kafka 的消息的容器设置一个任意编号,但是对于该示例,使用了一个简单的尾部。

我一一部署,我可以看到使用 redis 作为传输的性能在部署第 4 个流后下降了很多。我使用视觉 vm 观察到 inbound.*redis:queue-inbound-channel-adapter1 中存在某种竞争条件。如果我部署更多流(水龙头),它将变得无法使用。

(我尝试在此处添加来自 Visual VM 的线程视图图像,但我需要 10 个声望:s)

它似乎被锁定在这里:

如果部署的流少于 4 个,则永远不会发生等待条件:

  • 我的第一个问题是为什么 spring-xd 不能使用 redis 作为传输来处理更多的水龙头。我尝试使用rabbitMq,它可以工作。

  • 我的第二个问题是为什么它首先使用redis,因此我部署在内存配置中。再次在内存配置中使用,但这次使用rabbitMQ,我可以跟踪传递的消息,我认为这是不应该发生的。

--已编辑--

因此,关于第一个问题,我发现 org.apache.commons.pool2.GenericObjectPool 中的 maxTotal 参数默认为 8。我进入调试模式并在运行时更改了该值(无限制 = -1),这似乎解决了问题。为了能够将其配置为使用该 hack 进行部署,我需要创建一个扩展(来自文档)并覆盖以下 bean:

我一开始只是想定义一个 redisConnectionFactory bean,它会覆盖默认的,但是它没有那样工作。

我不确定解决方案是在 servers.yml 中配置 maxTotal 以允许增加该值,或者是否存在无法释放池的错误。无论如何,我会打开一个jira,希望这可以帮助那些没有完成我所做的所有工作的人:-)

0 投票
1 回答
1223 浏览

spring-batch - 从 Spring XD M5 移动到版本 1.0.0 时使用和 Spring Data 的 Cglib 代理错误

我们正在将一些批处理作业从 Spring XD M5 移至 1.0.0 版本。

在创建和部署作业时,我们在自动装配 Spring Data 存储库(在本例中为 Neo4J)时遇到了 cglib 代理功能的问题。

堆栈跟踪的尾部:

Spring Data repository 接口注释@Repository如下:

以及触发异常的 bean 类中相应的 autowired 属性:

bean 本身在我们的 XD 作业 XML 中定义如下:

以及配置 bean(在作业 cfg XML 中扫描的组件):

我们部署到 XD lib 文件夹中的 Spring Data Neo4J 版本如下:

设置全部在开发 PC 上(目前),XD 在分布式模式下运行:

  • redis 服务器
  • Zookeeper 服务器 (1x)
  • Oracle 作业存储库(目前为本地 XE 实例)
  • 1x 管理员和 1x 容器

任何有关作业配置、Spring Data 存储库或 XD 容器的帮助将不胜感激。

谢谢

0 投票
1 回答
161 浏览

spring-xd - 使用直接绑定部署的流仍然向 rabbitMQ 发送消息

我使用“module.*.count=0”部署描述符部署了一个流,以强制直接绑定。通过使用 rabbitmq-trace 会发生通过 rabbit 的消息,但是我看到的消息比禁用直接绑定选项时要少。这是预期的行为吗?

通过阅读文档,我认为在这种特殊情况下没有任何东西会通过外部总线。

0 投票
0 回答
180 浏览

spring-xd - Spring XD:带有日期参数的文件接收器

我刚刚安装了 spring xd 来进行 POC。我最初的目标是在所有应用程序服务器上安装 spring xd,收集当天的日志并将其转储到 NFS 挂载中的某个位置。我已经在分发​​模式下设置了 spring xd。我的流看起来像这样

流创建--名称测试流--定义“文件--dir=|文件--dir=”

我希望文件接收器根据当前日期转储到目录。例如 /tmp/xd/output_9242014

我该如何做到这一点?今天有日期功能吗?请帮忙

0 投票
1 回答
107 浏览

spring-xd - Spring XD 恢复语义

Spring XD 的恢复语义是什么。我已经浏览了所有公开可用的资源,但仍然无法得到任何明确的答案。

详细说明我的问题并保持简单。

a) 当 Source 失败时会发生什么?

b) 当处理器发生故障时会发生什么?

c) 当接收器发生故障时会发生什么?

0 投票
2 回答
2963 浏览

apache-spark - Apache Spark 流与 Spring XD 流

我正在寻找适合 Apache Spark 流的用例以及最适合 Spring XD 流的情况。

这里有技术重叠吗?有人遇到过两者都被使用的情况吗?

0 投票
1 回答
109 浏览

spring-xd - Spring XD 演示 - 联网汽车 - 开源?

在联网汽车上看到这个 Spring XD 演示 - 认为它很有趣 ( https://www.youtube.com/watch?v=qkm2GV57hzY )。

想知道源代码是否是 OSS,可以在 github 上或其他地方获得。