java - Intellij Spring 集成图无法通过消息模板检测连接

标签 java intellij-idea spring-integration

请注意:我是 Spring Integration 的新手。

我正在使用 Spring 集成编写一个简单的 ETL 流程,其中每个处理阶段都通过简单的直接 channel 连接到下一个阶段。

在某些阶段,会发生一对多关系或事件爆炸,即包含要处理的新文件的事件通过 channel 传递给使用者,并且使用者正在解析该文件。在这种情况下,我不使用服务激活器,而是选择简单地解析文件并使用 MessagingTemplate 通过不同的(或输出)将消息发送到下一阶段)直接 channel 。

在这种情况下,Intellij 中的 Spring 集成图 不会检测文件解析阶段和输出 channel 之间的连接(通过消息传递模板)。

虽然考虑到依赖关系不是直接的,这是可以理解的,但是否有其他方法可以更改我的设置,以便此依赖关系在 Intellij 的“Spring 集成图”中变得可见?

我正在使用 Intellij Ultimate Edition 2019。

最佳答案

这是正确的:只要您自己使用MessagingTemplate,您就会破坏流程,因为它基于输入输出 channel 端点的选项。

根据您的任务,听起来您需要一个 FileSplitter 和一个 ExecutorChannel 来单独处理下游的每个解析行。

有关详细信息,请参阅文档:

https://docs.spring.io/spring-integration/docs/current/reference/html/core.html#executor-channel

https://docs.spring.io/spring-integration/docs/current/reference/html/file.html#file-splitter

关于java - Intellij Spring 集成图无法通过消息模板检测连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60850482/

相关文章:

java - 如何以编程方式确定 Java 中的操作系统?

java - 为什么我的列表没有在 JAXB 中序列化?

java - 上传任何文件到服务器

java - Google NLP AutoML Java 客户端提供的位置 ID 无效

java - 作为收件人列表路由器的收件人的链

java - 是否可以使用 Netbeans 在 websphere 上进行热部署?

macos - 在 os x 上的 IntelliJ 11.1 中,使用 emacs 模式 M-B 输入 unicode 积分

intellij-idea - 我可以使用 j 和 k 在 IntelliJ 中导航搜索结果吗?

java - 替代 SocketUtils.findAvailableTcpPort()?

java - 使用 PollableChannel 时的 Spring 集成错误 channel