我有多个数据库,所有数据库都包含相同的表Data。我想从它们中读取,将所有Data元素输入到MyBean方法@Handler public Data updateData(Data data)中,然后写回该方法的输出。
from("jpa://Data?persistenceUnit=persUnit1").to("direct:collector");
from("jpa://Data?persistenceUnit=persUnit2").to("direct:collector");
from("jpa://Data?persistenceUnit=persUnit3").to("direct:collector");
...
from("direct:collector").bean(new MyBean()).to("jpa://Data?persistenceUnit=destinationUnit");但是,我需要Data元素来源的信息(例如持久化单元的名称)来进行验证。这样做最好的方法是什么?
发布于 2022-07-28 23:08:22
您可以设置一个标头
from("jpa://Data?persistenceUnit=persUnit1")
.setHeader("dataSource", constant("dataSource1"))
.to("direct:collector");
from("jpa://Data?persistenceUnit=persUnit2")
.setHeader("dataSource", constant("dataSource2"))
.to("direct:collector");发布于 2022-07-31 10:55:34
exchange对象向有关"from“端点(当前exchange的端点)提供必要的信息:
在路线上加上id是很常见的(但也在端点上)
from("jpa://Data?persistenceUnit=persUnit1")
.routeId("ComingFromRouteA")
.to("direct:collector");这样,您就可以知道自己来自何处,可以使用:
exchange.getFromRouteId()https://stackoverflow.com/questions/73149928
复制相似问题