假设我有一个基于 Spring MVC 的应用程序,具有以下层: - 前端(jsp) - Controller - 经理 - 服务 - 数据访问
我遇到了以下问题:某些 View 需要来自不同来源(Web 服务和内部数据库)的数据,并且在采购后需要进行聚合。我想用 Camel 制作它,但问题是 - 哪一层应该“触发”路线。换句话说 - 我想知道流程:首先前端将我们带到 Controller 方法之一。但这是 Camel 路线的起点吗?
最佳答案
我认为启动Route
和启动Exchange
之间存在混淆。
一旦相应的ApplicationContext
启动CamelContext
,路由就会启动。可以使用注入(inject)的 ProducerTemplate
启动特定路由上的 Exchange
,例如:http://camel.apache.org/pojo-producing.html
聚合来自不同来源的内容的最佳位置是 Camel 路线本身。
我将创建一个服务外观并使用 ProducerTemplate 启动 Camel Exchange,如下所示:https://camel.apache.org/hiding-middleware.html
所有数据源都应该在Camel路由中访问,随后Camel路由将应用相应的企业集成模式来丰富/聚合/转换内容。
关于java - Apache Camel - 路由起始层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21901267/