spring-integration 相关问题

有关Spring Integration项目的问题,请使用此标记。它不适用于将其他Spring项目与其他技术集成的一般问题。

使用 sftp 流式入站适配器以块形式流式传输文件

我正在使用 SFTP 流式入站通道适配器,它一次性读取整个文件。它给了我一个输入流,稍后由流转换器转换我想读取文件 dire...

回答 1 投票 0

Spring 集成中的异常处理示例

我正在寻找一个很好的 Spring 集成错误处理示例。我真正想做的就是当这个流程失败时调用一个方法。这个想法是被调用的方法将发出错误 emai...

回答 1 投票 0

接收消息时MessageDeliveryException: Dispatcher没有订阅者

更新: 将 fromTcp() 从持有者类移动到端点类后,一切都再次正常工作,现在我很困惑为什么它现在还能工作,因为对我来说,它为什么工作没有意义 经过一些

回答 1 投票 0

如何在文件适配器的 Spring Integration TaskExecutor 中正确设置线程池和 maxMessagePerPoll 以避免堆问题

我一直遇到两个问题,不知道如何解决。 超出 GC 开销限制(堆空间不足,应用程序当前使用 2GB) 应用程序暂停 ThreadPoolExecutor 池大小= 50,...

回答 1 投票 0

Spring 集成 - 关闭应用程序时消息队列不为空

假设您正在使用 jdbc-metadata-store 从多个实例(假设有 4 个)轮询一个目录,并且轮询器 maxMessagesPerPoll 设置为 1,间隔为 5 分钟,并且您正在消耗这 m...

回答 1 投票 0

构建基于Spring Boot的Webhook消费者服务

我需要构建一个基于 Spring Boot 的 Webhook 服务,该服务可以使用任何格式的 JSON 或 XML 格式的请求主体。 例如:我们为已经拥有固定 JSON 的客户提供服务...

回答 1 投票 0

Spring Integration 在 HTTP/2 的“优先级”HTTP 标头验证中失败

随着最近在 Chrome 上推出 Chromium 124,请求标头中引入了新的“优先级”HTTP 标头,默认情况下支持 HTTP/2 和 HTTP/3 协议。更多信息

回答 1 投票 0

具有多个 JVM 的 Java 文件观察器,监视单个目录中的传入文件

我有一种情况,有两个java应用程序正在监视传入文件的目录。假设有一个目录 DIR,两个 JVM 进程正在监视该目录中是否有带有

回答 3 投票 0

从 Spring Integration 5.5 迁移到 6.3

鉴于我们不再有 IntegrationComponentSpec.get() ,正确的解决方案是使用 ChannelSpec 而不是 Channel。但我该如何将其应用到 Kotlin DSL 上呢? 在我能做之前: ...

回答 1 投票 0

Spring Integration SMB 入站通道适配器的性能问题

我正在使用 Spring Integration 6.0.5 并尝试为 smb 配置入站通道适配器。 我让它工作并读取文件,但性能很差,我似乎无法影响多少

回答 1 投票 0

无法向 Solace MQ 发送批量消息

在我的应用程序中,我们使用 Solace MQ 并使用 HermesJMS 工具将消息发送到本地环境中的 MQ。 当我尝试向 MQ 发送批量消息时,出现下面提到的异常。我用Sp...

回答 1 投票 0

使用 Spring 集成 5.5.12 和 James 电子邮件服务器 3.7.1 添加“Disposition-Notification-To”

有没有人可以使用Spring电子邮件集成成功地将“Disposition-Notification-To”添加到标题中? 我尝试了两种方法 第一个是使用 Spring 的应用程序上下文。 在...

回答 1 投票 0

@IntegrationFlow DSL 中的角色

使用消息驱动通道适配器时,是否可以通过 IntegrationFlow dsl 指定用于领导选举的端点角色? 我可以使用...创建 JMS 消息驱动端点...

回答 1 投票 0

如何在Spring Integration Outbound Adapter中为Artemis Broker的JmsMessage添加延迟

我有一个jms出站通道适配器。我想向我的 Apache Artemis Broker 发送消息并添加延迟。 我有一个jms出站通道适配器。我想向我的 Apache Artemis Broker 发送消息并添加延迟。 <int-jms:outbound-channel-adapter connection-factory="scheduledConnectionFactory" channel="tnpScheduledOutboundChannel" destination="tnpScheduledQueue" /> 我的将 header 添加到 spring 集成消息的 java 代码是: return MessageBuilder.withPayload(sdpInfo).setHeader("_AMQ_SCHED_DELIVERY",sdpInfo.getDelay()).build(); 标头被添加为 Spring 集成标头。但它没有被 JMS 拾取,即队列的使用者立即看到它。 我需要添加某种 JmsHeaderMapper 吗?有人可以指出一些文档或示例吗? 更新 这是在 JmsSendingMessageHandler 中调试时捕获的消息。 ActiveMQMessage[null]:PERSISTENT/ClientMessageImpl[messageID=0, durable=true, address=null,userID=null,properties=TypedProperties[sequenceNumber=4,file_status=0,sequenceSize=0,_AMQ_SCHED_DELIVERY=14685858,timestamp=1605707114145,correlationId=4d6fa6c8-fdcb-d69b-cd60-d260264545f5]] 如果我直接在激活器中使用 jmsTemplate public void sendDelayMessage(SdpInfoTemplate<?> message, long deliveryDelay, String queue) { jmsTemplateDelay.setDeliveryDelay(deliveryDelay); jmsTemplateDelay.setDeliveryMode(DeliveryMode.PERSISTENT); jmsTemplateDelay.convertAndSend("sdp-file-tnp-scheduled-dimitris-test", message, m -> { m.setLongProperty("_AMQ_SCHED_DELIVERY", deliveryDelay); m.setStringProperty("TRANSACTION_ID",message.getTransactionId()); return m; }); 关键部分是jmsTemplateDelay.setDeliveryDelay(deliveryDelay); 如果我不设置这个,它会被调度,它会被忽略,消费者端会立即收到消息 默认情况下,在 DefaultJmsHeaderMapper 中使用 JmsSendingMessageHandler。如果值属于支持的类型,它将所有标头映射到 jmsMessage.setObjectProperty(propertyName, value);: private static final List<Class<?>> SUPPORTED_PROPERTY_TYPES = Arrays.asList(new Class<?>[] { Boolean.class, Byte.class, Double.class, Float.class 或者你在中间的某个地方丢失了标题...... 更新 抱歉,您让我们感到困惑。您的 _AMQ_SCHED_DELIVERY 确实作为最终 JMS 消息中的属性存在。当你谈论setDeliveryDelay()时,这是完全不同的故事。 您可以做的就是扩展 DynamicJmsTemplate。覆盖其 getDeliveryDelay() 并从您填充的 ThreadLocal 中获取所需的值,然后再向该 <int-jms:outbound-channel-adapter> 发送消息。 这是我们绝对可以添加到 DynamicJmsTemplate 和 DynamicJmsTemplateProperties 中以通过上述 JmsSendingMessageHandler 解决的问题。但目前的解决方法仅为此 ThreadLocal 选项实现您自己的 deliveryDelay 变量。 对于此设置(Spring Integration + Artemis),如果您想延迟向消费者传递消息,您可以这样做 .setHeader(Message.HDR_SCHEDULED_DELIVERY_TIME.toString(), System.currentTimeMillis() + {yourDelayInMs}) 关键点是您应该设置从纪元开始的以毫秒为单位的交付时间,而不是实际的延迟值。

回答 2 投票 0

启动第一个作业会导致 - 声明多个 DirectChannel 时调度程序没有频道异常订阅者

我有一个 Spring Batch 应用程序,它成功运行 Spring Batch 作业,但在声明多个 DirectChannel 时出现异常。 当我启动“firstJob&...

回答 1 投票 0

设置了队列大小的taskExecutor如何与文件输入适配器的AcceptOnceFileListFilter过滤器一起使用

据我了解 如果你有10个池大小和50个队列大小的taskExecutor,在所有线程都被占用并且队列已满并且我没有设置调用者策略的情况下,我认为......

回答 1 投票 0

如果在带有 XML Config 的 Spring Integration 4.2.0 中使用自定义 DirectoryScanner,如何跳过“filter”和“locker”属性的设置

在 Spring Integration 4.2.0 中,它提到如果使用自定义扫描仪,则必须存在“filter”和“locker”(以前的 https://github.com/spring-projects/spring-integration/issues/7545在...

回答 2 投票 0

Spring Integration JMS MessageDrivenChannelAdapter 连接状态

在 Spring 5.3.29 中,如何在未收到消息的情况下检测 MessageDriveChannelAdapter 已连接到 JMS。 目前,我有; IntegrationFlows.from( 杰姆斯 .messageDrivenChannelA...

回答 1 投票 0

AWS 集成 spring:延长可见性超时

是否可以延长正在传输的消息的可见时间。 看: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html。 部分:更改

回答 3 投票 0

使用 Java DSL 的消息传递网关的回复通道

我有一个 REST API,它接收来自客户端应用程序的 POST 请求。 @Autowired 私人 EdiTranslationEvents.TransformToStringtransformToString; @PostMapping("/testPost") @

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.