问题标签 [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.
spring-boot - Spring Integration DSL - JdbcPollingChannelAdapter 结果不排队
我发誓我有这个工作,但几个月后我可以恢复它(并升级到 Boot 1.5.9),我遇到了问题。
我设置了一个 JdbcPollingChannelAdapter,我可以很好地执行接收(),但是当我将适配器放入一个只对适配器的结果进行排队的流中时,在队列上运行 .receive 总是返回一个空值(我可以在控制台日志中看到适配器的 SQL 正在被执行)。
下面进行测试。为什么我可以从适配器获取结果,但不能将结果排队?提前感谢您的任何帮助。
编辑我已经尽可能地简化它,重构为下面的代码。测试通过具有通用消息源的流,并在具有 JdbcPollingChannelAdapter 消息源的流上失败。对我来说,我应该如何配置第二个消息源以便它像第一个消息源一样成功,这对我来说并不明显。
spring-integration - Spring集成DSL ::从xml调用通道时面临的问题
我做了一个简单的 DSL,它从数据库中检索数据并在服务激活器中进行简单的转换。
queryChannel 是一个 jdbc 出站网关,而 sampleConverter 是服务激活器。
问题是从数据库中检索数据后,流程不会进入 serviceActivator,它只是返回数据库响应。
在 xml 配置中,我曾经在链中调用网关,如下所示。
请建议我在这里做错了什么。提前致谢。
spring-boot - Spring 集成 Java DSL 错误
我已经使用最新的可用版本建立了一个新的 Spring Boot + Spring Integration + Spring Integration Java DSL 项目。该项目构建良好,但是,当我运行应用程序时,我得到:
当前使用的依赖项如下:
错误可能是由于 jar 版本的错误组合造成的吗?我不确定如何调试此错误。
spring-integration - spring 集成 amqp 侦听器已处理
当消息侦听器容器上的 channelTransacted = true 时,确认模式.AUTO 和确认模式.手动有什么区别?
我知道当我想使用带有 channelTransacted=false 的 acknowledgeMode.MANUAL 时,侦听器必须通过调用 Channel.basicAck() 来确认消息。当侦听器容器具有 channelTransacted = true 时,是否不需要使用 acknowledgeMode.MANUAL?因为当我将 acknowledgeMode.MANUAL 和 channelTransacted=true 与调用 Channel.basicAck() 结合起来时,我得到了异常。
例外
spring-integration - 拆分和聚合流中的 Spring 集成验证
我正在尝试添加过滤器以丢弃流并在失败后继续执行主流并聚合拆分器。错误和成功的预期类型相同。没有特定的聚合器逻辑。
丢弃通道没有加入回主流以执行拆分中的下一个项目。
我可以编写路由和子流映射,但这会变得过于嵌套在路由 -> 子流 -> 路由 -> 子流中,试图通过使用过滤器来解决这个问题。是否有更好的方法来执行验证并仍然继续拆分流程中的所有项目。
更新1:
网关能够拦截请求,但执行的流程.handle(new MyHandler())
而不是下一个项目split()
更新 2:(答案)来自 Artem
这将有条件地跳过并继续流程。
junit - 尝试使用 mockito 在 spring 集成中测试网关,但是在自动装配网关时它始终为空
尝试使用 mockito 在 spring 集成中测试网关,但在自动装配网关时它始终为空。
我正在使用注释来创建编写测试用例的上下文,但是模拟和注释都工作得很奇怪。没有得到任何支持或基本了解这里出了什么问题。
任何人都可以建议一种简单的方法或如何测试从网关开始的 Spring 集成流程。由于网关的值在测试中对我来说是空的。
我们使用 java 注释来定义 spring 集成流程,如下所示:
公共类集成Flow()
{
}
我编写了一个测试用例,它将创建一个具有默认值的对象,该对象将传递给 dto 并触发 spring 集成的流程。我想在这里使用 mockito,因为项目中有很多依赖项。
我在用
在我正在定义的测试用例的上下文配置中
但是在测试用例中
我们没有使用 Spring boot ,我们正在使用 Mockito 注释,@Mock 和 @InjectMocks ,@Runwith(MockitoJunit4Runner.class) 像这些
spring-integration - spring amqp死信队列不适用于事务
当出现问题而不是重新排队时,如何设置侦听器容器何时 channelTransacted(true) 将消息放入死信队列?当我不使用 channelTransacted 时,一切正常,我可以在死信队列中看到消息。
编辑
这些是依赖项的版本。
我想让事务与外部事务数据库(PlatformTransactionManager)同步。当我在侦听器容器上设置 transactionManager(transactionManager) 时,它总是会重新排队。
spring-integration - Spring Integration DSL:将转换输出发送到多个端点
遗留 Spring Integration 项目使用 XML 定义工作流。基本流程如下:
int-jms:message-driven-channel-adapter
侦听消息并将其放置在内部通道上。- 转换器处理通道上的消息,然后将输出路由到其他三个内部通道。
- 这些通道中的每一个都与一个端点相关联,该端点将进一步处理输出。
以下是将转换器组件与内部输入和输出通道联系起来的 XML:
我现在试图将其表示为 DSL。以下是端点的基本配置:
每个端点都被表示为一个单独的IntegrationFlow
bean。这是最佳实践,还是最好让一个IntegrationFlow
代表完整的工作流程(如果可能的话)?
谢谢
spring-integration - 上下文中的并发消费者到弹簧集成
在 Spring 集成应用程序中,我使用并发消费者一次消费和处理多条消息。在我的应用程序中,我将所有 bean 配置为一个单例。我假设我是否要通过使用并发消费者的并行化处理,多条消息输入到相同的集成组件中。它会导致两个对象之间的数据冲突吗?