繁体   English   中英

了解Mule ESB如何适应JDBC和REST

[英]Understanding how Mule ESB fits in with JDBC and REST

我在我们的JBoss app服务器上运行这个简单的REST服务,效果很好。 目前,该服务有一个@GET方法(getAllPeople),它与mysql数据库建立JDBC连接,以检索一些数据(SELECT名称,地址FROM Person)。

我的团队负责人希望我尝试使用Mule ESB,并以此简单项目为出发点。 我对如何使用Mule流程进行此操作感到困惑。 我使用HTTP入站点,REST组件和JDBC组件设置我的流程,如下所示:

在此输入图像描述

我将JDBC组件配置为使用MySQL,并向其添加了一个查询(SELECT名称,地址FROM Person)。

问题:我的REST服务@GET方法中的代码仍然使用JDBC直接连接到DB。 我想我需要更改它,而是调用Mule JDBC数据源,但我不知道如何做到这一点。 我需要在REST服务@GET方法中使用什么代码来使用Mule JDBC组件,并获得结果? 我试图了解组件如何相互通信。

编辑:新想法 - 是否应该使用ESB将单个系统的不同组件链接在一起,例如REST服务,SOAP服务和JDBC数据源,或者ESB是否应仅用于将完全独立的系统连接在一起?

要使您的简单示例工作,只需删除REST组件并在JDBC组件之后添加一个Object to JSON转换器。 然后,您的流将以JSON格式返回查询结果。

我们可以在这里用mule来调用其余的api,rest api会返回一些可能不够的数据。 为了根据rest调用的结果(由JsontoObject转换)从db获取更多数据,可以使用jdbc连接器。 在你的情况下,如果你想调用最终调用数据库的rest api,你将得到json或xml,可以将其转换为将数据发送到outbounds。

谢谢-

我不确定为什么你之间有'休息'组件。 可能不需要。 最简单的是拥有http和变换器(将数据从http转换为/来自)和jdbc组件。 使用这种方法,您将在JBoss App Server中留下现有的ReST服务。

我想在发布的图片中,您尝试在Jboss App Server中调用预先存在的ReST服务,这可能不需要。 您可以简单地模仿现有服务的功能。 或者您可以认为现有服务和新的mule服务可以充当代理服务 - 在这种情况下,不需要JDBC组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM