问题标签 [spring-integration-dsl]

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

spring-integration - Sprint 集成 DSL - Http 入站适配器和轮询器

我对 Spring Integration 相当陌生,我正在尝试设置一个简单的用例:

轮询远程 REST 端点,将返回的有效负载拆分为多行并将其发送到 Kafka 出站适配器。我成功地做了类似的事情,它使用了一个文件适配器,但我坚持使用 HTTP 适配器。我不明白如何将轮询器关联到 HTTP 入站适配器。

到目前为止,我的方法是创建一个简单的流程:

inboundChannelAdapter似乎不接受Pollera 。在我之前使用文件的尝试中,我创建了一个FileReadingMessageSource这样我的流程看起来像:

但我找不到 HTTP 消息源的等价物。

0 投票
1 回答
446 浏览

java - 从 Spring Integration 流中调用 Spring Controller

你好我有一个小问题。我想手动调用弹簧控制器,但我有一个例外。首先,让我向您展示一些集成流程和控制器:

当我运行我的应用程序并发送事件时,我在线收到异常:

例外:

嵌套异常是 java.lang.IllegalStateException:未找到线程绑定请求:您是指实际 Web 请求之外的请求属性,还是在原始接收线程之外处理请求?如果您实际上是在 Web 请求中操作并且仍然收到此消息,则您的代码可能在 DispatcherServlet/DispatcherPortlet 之外运行

有人可以告诉我出了什么问题以及如何解决吗?我以为我可以调用控制器方法,就像它来自简单的 POJO 一样。

0 投票
1 回答
514 浏览

spring-integration - 拆分 IntegrationFlow 进行测试

我打算测试一个IntegrationFlow并有一个问题?

让我带你了解我打算做什么。

这是IntegrationFlow我想测试的样本。现在,我想通过在每个transform's 和enrichHeaders. 从Spring Integration文档来看,这样做的方法是拆分流并将消息写入通道并在后续流中从通道读取。

我的问题是,当我将其拆分为 aQueueChannelDirectChannel时,我是否会更改默认性能?因为现在有一个额外的层将数据发送到,如果我在将数据传递到不同的流时使用错误类型的通道会减慢速度吗?

0 投票
1 回答
412 浏览

java - 是否可以使用 BeanFactory 从不同的属性值创建集成流 bean?

我的意图是从各种源/目录创建 IntegrationFlow bean 实例(首先,可能来自 ftp)。因此,在application.properties我想定义这样的东西时,入站目录的数量可能会有所不同:

我还想维护源的来源(通过标题丰富),因此不能将所有文件放在 spring 之外的一个目录中。

那么有一个 FilePollingFlow 是否可以从上述属性创建这些 bean 实例?我可以想象这样的事情,但我不确定如何将属性传递给 bean 实例以及如何引用索引:

0 投票
1 回答
109 浏览

spring-integration - 在 Spring Integration 中表示线程池而不是 ExecutorService

目前,我们的一个应用程序中存在类似于以下的代码:

这样做的目的是为外部服务创建一个请求队列。外部服务可能需要一些时间来处理每个传入的请求。在处理完每个请求后,它将更新外部文件以注册特定请求已被处理。

ProcessRequestImpl本身是无状态的,因为所有状态都在构造函数中设置,并且没有对该状态的外部访问。该process()方法由应用程序中的另一个组件调用。

如果这要在 Spring Integration 应用程序中实现,最好推荐以下两种方法中的哪一种:

  1. 保持上面的代码不变。
  2. 提取doWork(),到一个单独的端点,配置该端点在通道上接收消息,并使用配置来代替执行器服务来实现多线程。

我们关注 Spring Integration 的一些原因如下:

  1. 从代码本身中去除工作流逻辑,使工作流和处理链在更高的层次上更加明显。
  2. 简化每个类,增强可读性和可测试性。
  3. 尽可能避免线程化代码,并在配置的更高抽象级别上定义它。

给定示例代码,是否可以使用 Spring Integration 实现这些目标。此外,实现这一目标的 DSL 示例是什么。

谢谢

0 投票
2 回答
1409 浏览

java - 带有异常的 Spring 集成过滤器

我使用 SpringIntegration-filter 来验证我的 WS 消息。我实现了 Validators 进行验证,如果 WS 消息有效,它们返回 true。但是如果 WS 消息无效,它们会抛出 MyValidationException。

有没有办法使用 SpringIntegration-filter 来处理这种异常?如果我不返回 false,则过滤器不起作用。

我的代码示例如下。我想在丢弃流中使用我的验证异常。

0 投票
1 回答
319 浏览

spring-integration - Spring 集成流程中的对象方法参考

消息在通道上接收,并由转换器处理。转换器的输出是以下类,它被传递到流程的下一步:

另一个 bean 有一个@Transformer方法调用process上面 bean 上的方法,如下:

在 IntegrationFlow 中,handle调用方法如下:

理想情况下,我想取消Handlerbean 类,并domainBean.process()使用对象方法引用进行调用,如下所示:

当我尝试这样做时,或者.<DomainBean, DomainBean>transform(DomainBean::process) 编译器会抱怨

有没有办法使这项工作?

谢谢

0 投票
0 回答
158 浏览

spring-integration - 消息上的特殊字符消耗 spring-integration-aws

我们从 spring-integration 应用程序将消息发送到 kinesis 流,但是在通过 kinesis binder 应用程序的 @StreamListener 使用消息时,我们得到了特殊字符,例如“�� t foo”。请在代码片段下方找到并告诉我是否还有其他需要考虑的事项?

向 Kinesis 发送消息

接收消息

0 投票
1 回答
337 浏览

spring-integration - Spring 集成 HTTP 入站验证

我正在将 SpringBoot 2.0 与 Spring Integration 5.0.3 一起使用,并且我的 HTTP.inboundGateway 存在问题。我的目标是验证发布到网关的 JSON,因为请求 pojo 包含必填字段。

是否有一种简单的方法来验证 pojo 中的字段是否已设置?我已经测试过的是使用 @NotNull SpringValidation,但 Spring Integration 似乎不支持它。

问候,顺滑

0 投票
1 回答
372 浏览

spring-data-jpa - Spring Integration JPA - 使用实体图检索出站网关

是否可以在 Jpa 检索出站网关中使用实体图?

我想使用类似于 Spring Data Jpa 的方法