有关Spring Integration项目的问题,请使用此标记。它不适用于将其他Spring项目与其他技术集成的一般问题。
我当前的工作流程有 2 个集成流程 - 第一个集成流程 - 从 SFTP 轮询文件 -> 消息处理程序 -> 将消息发送到 JdbcChannelMessageStore 并将这些消息保存在 Jdbc 中...
如果 DynamoDB 中已经存在检查点,streamInitialSequence 的效果是什么?
我想使用 KinesisMessageDrivenChannelAdapter 从 Kinesis 流中读取记录。第一次启动消费者应用程序时,我希望它接收所有记录......
Spring 集成 - 即使设置了 sendFailureChannel,Kafka OutboundChannelAdapter 也会传播异常
Spring 集成:6.2.0 我注意到,即使我在 Kafka.outboundChannelAdapter 上设置了 sendFailureChannel,avro SerializationException 仍然会重新抛出并最终出现在错误输出中......
Spring Integration 升级到 6.3.4 - errorChannel 在异常后不再消费消息
我最近从 spring-integration (1.5.4) 和 spring-cloud-stream(1.3.3.RELEASE) 版本升级到 spring-integration-core 6.3.4。 & spring-cloud-stream(4.1.1) 升级后,我注意到...
我将 spring-integration-java-dsl 1.2.3 升级到 spring-integration-core 6.3.4 之后,我遇到了数据类型问题,每当我尝试到达消息有效负载时,即仅转换一个字节[ ]
Spring Integration Jaxb Unmarshaller 映射 Schema 变量名称而不是 @XMLElement 值
我有这个 JAXB-XJC 生成的架构, @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "响应", propOrder = { “价值”, “帐户”, “哈希”...
用例是使用 Spring Integration 的 Kafka ConcurrentMessageListenerContainer 延迟重新处理下游失败消息。比如说,最大重试尝试次数应为 2,固定延迟为 5
spring-integration header 展开问题
我将 spring-integration 版本 1.5.4 升级到 spring-integration-core 6.3.4 之后,我在routeToRecipients 中遇到了标头问题,所以每当我想在此处获取标头信息时,都会出现消息
向 Spring TcpInboundGateway 发送未经请求的消息
我正在使用 TcpInboundGateway 编写 IntegrationFlow。当客户端连接并建立与服务器(入站网关)的连接时,有没有办法向该服务器发送“服务器发起的消息”
Spring Integration 错误通道标头在流程中被忽略
我正在尝试构建复杂的 Spring Integration 流程,其中部分流程需要处理错误场景并在流程中提供不同的分支,该分支将跳过一些处理并继续...
TransformerEndpointSpec 的 Spring Integration 单元测试
我有这个创建消费者的方法 公共静态 Consumer buildTransformerSpec() { 返回 TransformerEndpointSpec ->
Paho 客户端异常:内部错误,由于没有可用的新消息 ID 导致
我使用Spring-Integration-mqtt模块发送和接收MQTT消息,出现以下异常: 2024-10-22 10:56:45.161 [][] 错误 o.s.i.handler.LoggingHandler:250 - org.
Spring Integration:发生超时时执行某些操作
我正在等待消息到来,但当消息没有到来时我想做一些计算。 类似以下内容(我想要的): IntegrationFlows.from(messageChannel) .超时(1, S...
如何将来自不同通道的具有不同负载类型的标头组合成一条消息,以便在 Spring Integration 中进一步处理?
我是 Java 和 Spring/Spring Integration 的新手,并且在消息通道和聚合器方面遇到问题。我正在尝试将两个不同通道的标头聚合到一个消息对象中......
使用 TcpNetClientConnectionFactory 和 CachingClientConnectionFactory 而不需要 Spring 集成的其余部分
所以我正在尝试编写一个针对服务器的集成,该服务器通过原始 Tcp 与消息上没有结束分隔符的自定义协议进行通信。 我想知道是否可以使用上面的
Spring Integration:使用模拟 JMS 源测试 IntegrationFlow
我有一个 IntegrationFlow 从 JMS messageDrivenChannelAdapter 接收消息,我想对其进行一些性能测试。我想在我的测试中创建一个 Jms 源,这样我就可以控制 nu...
在 spring-integration 5.5.18 中可以在 <int:poller> 中使用 <int:router> 吗?
我目前正在开发的应用程序使用的是 spring-integration 2.3.0.RELEASE。它有一个路由器配置,其中有一个轮询器,如下所示。而且运行良好。 我目前正在开发的应用程序正在使用spring-integration 2.3.0.RELEASE。它有一个路由器配置,其中有一个轮询器,如下所示。而且效果很好。 <int:router id="channelRouter" input-channel="exceptionChannel" expression="@system.getId(payload)"> <int:mapping value="0" channel="exceptionChannel0" /> <int:mapping value="1" channel="exceptionChannel1" /> <int:poller fixed-rate="10" task-executor="sysExecutor" /> </int:router> <task:executor id="sysExecutor" pool-size="1" queue-capacity="1" rejection-policy="DISCARD" /> 但是,升级到 spring-integration 5.5.18 后,会出现类似以下的解析错误。 Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 29 in XML document from class path resource [META-INF/spring/integration/helloWorldDemo.xml] is invalid at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:411) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:347) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:319) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:184) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:95) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:700) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:202) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:177) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:163) at org.springframework.integration.samples.helloworld.HelloWorldApp.main(HelloWorldApp.java:48) Caused by: org.xml.sax.SAXParseException; lineNumber: 29; columnNumber: 29; cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.springframework.org/schema/integration":poller}'. One of '{"http://www.springframework.org/schema/integration":mapping, WC[##other:"http://www.springframework.org/schema/integration"]}' is expected. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:512) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3600) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1972) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:850) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342) at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:77) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:441) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399) ... 12 more 上面的日志取自示例应用程序。当应用程序尝试使用 ClassPathXmlApplicationContext 加载 XML 文件时,会发生此错误。 AbstractApplicationContext context = new ClassPathXmlApplicationContext("/META-INF/spring/integration/helloWorldDemo.xml", HelloWorldApp.class); 是否应该将 <int:poller> 从 <int:router> 中删除?如果是这样,那么路由器如何在没有轮询器的情况下轮询输入通道以获取消息? 根据当前的 XSD,<poller> 必须声明为第一个子元素: <xsd:complexType name="routerType"> <xsd:complexContent> <xsd:extension base="commonRouterType"> <xsd:sequence> <xsd:element ref="poller" minOccurs="0" maxOccurs="1"/> <xsd:group ref="routerCommonGroup"/> </xsd:sequence> <xsd:attributeGroup ref="topLevelRouterAttributeGroup"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> 因此你的配置应该是这样的: <int:router id="channelRouter" input-channel="exceptionChannel" expression="@system.getId(payload)"> <int:poller fixed-rate="10" task-executor="sysExecutor" /> <int:mapping value="0" channel="exceptionChannel0" /> <int:mapping value="1" channel="exceptionChannel1" /> </int:router> 注意:仅当您的 poller 是 exceptionChannel 时,QueueChannel 才有效。 是的,如果您不在这里声明<poller>,但有一个默认的顶级:https://docs.spring.io/spring-integration/reference/endpoint.html,它仍然可以工作#全局默认轮询器
使用SqsMessageDrivenChannelAdapter时是否应该使用ExecutorChannel以获得更好的性能?
我的应用程序从 AWS SQS 读取消息并处理它们。以下是 sqs 适配器的配置: @配置 @Slf4j 公共类应用程序配置{ @豆 公共留言...
分离器流中的 Spring Integration WebFlux outboundGateway 导致同步分离器异步
我有一个 Spring 集成流程,其中请求列表被串行拆分器拆分,因此每个子流程和每个请求都按顺序处理。 子流程将请求发送到另一个系统...
我尝试能够通过 Spring Boot 的第三方配置机制配置 Spring Integration 默认值。 我尝试过: @配置 @EnableIntegration 类 IntegrationFlowConfigration...