问题标签 [integration-patterns]
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.
java - Camel EIP 过滤重复项
我有一个 Camel 路由,可以将消息从队列中出列,将其发送到 bean 进行处理,然后将消息重新排入另一个队列。
我正在尝试消除第二个队列上的“重复消息”。Camel 是否有任何端点、处理器、EIP 等我可以配置为在发送到第二个队列之前在途中对消息进行重复数据删除?
例子:
更新:也许是这样的:
根据 Ralf 的建议,我可以在其中引用一个 bean <method></method>
,然后使用缓存将消息保存在内存中。
假设这个新 bean 被调用FilterBean
并且它有一个dedupe()
方法:我如何在 Spring XML 中连接它,以及 bean 需要实现哪些类/接口才能从路由内部调用?
c# - 这个模式有名字吗
我在很多地方多次使用过这种模式,通常与插件模式一起使用。
我使用它的一些示例方法是用于消息传递系统,例如为各种类型的不相关消息创建订阅者。我还将它用于通用集成工作流程,每个工作流程都需要不同形状的上下文对象。
基本上,该模式包括为消息或上下文定义一个空白标记界面。然后定义一个与消息/上下文接口一起工作的高级工作流接口。然后,您可以使用工厂来获取工作流的具体实例,如果需要,工作流还可以负责从通用数据格式解析其消息/上下文。
接下来,您创建一个抽象的通用基本工作流,其职责是将调用映射到传递无用标记接口的接口方法,调用抽象方法来获取消息/上下文的具体版本。
希望这是有道理的。我将在下面提供一个代码示例。我很想知道这种模式是否有名字,因为我注意到我现在已经使用了大约 4-5 次。另外,我只是在充实如何解释这种模式,所以如果我的解释有什么不合理的地方,也请告诉我。
要点是您可以拥有多个具有不同方法签名的类,这些类仍然可以通过通用接口调用:
最终结果
完整示例
高级接口
映射到具体方法的抽象基础
映射属性
具体实现
工厂
示例用法
java - joinTransaction 已在 ApacheCamel 中的资源本地 EntityManager 上调用
我是 apache camel 的新手,我正在测试 camel-jpa 从表中轮询并显示记录
以下是主要课程
以下是 jparouter 类
我在 META-INF 下配置了 persistence.xml 及其,实际上在 eclipse 中我启动 Java Project 然后设置 JPA facet
持久性.xml
但我收到以下错误:
recursion - Apache Camel 中的无限循环
我需要创建一个路由,它会定期调用一些进程,在迭代之间有一个小的延迟。
当我查看循环文档时:
循环允许多次处理消息,每次迭代可能以不同的方式。主要在测试期间有用。
所以这对我没有用,因为我需要做一个无限循环(没有CamelLoopSize
明确指定)。
我的第二个想法是使用一种“递归”:
这在几天内效果很好,但是在大约 600 次迭代后,这失败了StackOverflowException
有没有更好的方法在无限循环中运行我的进程?
apache-camel - Camel - 使用哪种模式来使用来自其他服务的值来完成 xml
我有一个类似于以下内容的 xml,其中包含一些由 url 组成的元素。该 url 是另一个包含另一个 xml 的 web 服务。我需要做的是用来自 web 服务的信息来完成我的 xml,我想用骆驼来实现。下面是例子:
初始 xml
http://someservice
正在返回一个 xml,我必须将其替换为原始 xml。例如
http://someservice/11
返回
http://someservice/12
返回
http://someservice/21
返回
http://someservice/22
返回
我的最终 xml 将是:
所以我的问题是我应该使用什么最佳模式来实现这个结果?
java - Camel normalizer bean 未注册
我正在尝试按照此处编写的方式实现规范化器:http: //camel.apache.org/normalizer.html
我得到了这个例外:
我在 RouteBuilder 中的 .configure() 如下所示:
规范化器如下所示:
我找到了一种将那段代码添加到 RouteBuilder 中的解决方案:
但它没有给出任何结果。那么这里可能是什么问题呢?
java - Camel:pollEnrich 和访问 Exchange
我有这条路线
在ProcessorTratarWS()中,我设置了 property.archivoRespuesta 的值,并且是 pollEnrich 应该下载的文件的名称。
但是,文档说“ PollEnrich 无法访问交易所”。这意味着 PollEnrich 无法读取 ${property.archivoRespuesta} 的值
在骆驼中有一些替代方法可以做我正在尝试的同样的事情吗?
谢谢!
integration - SAP 集成模式 RFC BAPI + 出站 IDOC
我正在尝试了解所有 SAP 集成模式(以及与此相关的反模式)。
我确信这是模式:
- 同步 BAPI
- 异步 BAPI
- IDOC(入站 + 出站;或仅一个方向)
在与 SAP 进行实际集成时,我还注意到 BAPI RFC 请求和出站 IDOC 作为响应的模式。这也是一个有效的模式吗?
如果有人有与 SAP 的各种集成模式的文档源,我将不胜感激。
谢谢。