在为多个HTTP Mule应用程序实现公共入口点时,我正在寻找有关最佳实践的建议。 基本上,我们有许多Mule应用程序在接收HTTP请求的同一Mule运行时上运行。为了将它们分开,它们当前配置有监听不同的端口号。要求是可以重新启动/停止/更新/添加应用程序,而不会影响其他应用程序。现在,每个应用程序使用一个新端口显然不是最佳做法。我认为,需要一些通用的路由器/侦听器,它会根据URL路径将请求路由到特定的应用程序。那么,这种中央入口点应用程序是否有一些常用的设计?我在这里看到的主要问题是在添加新应用程序或更新现有应用程序的URL时避免对其他应用程序的影响?
答案 0 :(得分:3)
您只需在域中配置HTTP连接器,并使所有应用程序使用引用它的HTTP侦听器并在不同的路径中侦听。 请查看shared resources documentation或this blog post。
答案 1 :(得分:1)
如果您需要,这是代码:
骡域-config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<domain:mule-domain
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:domain="http://www.mulesoft.org/schema/mule/domain"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/domain http://www.mulesoft.org/schema/mule/domain/current/mule-domain.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
<http:listener-config
name="shared-http-listener"
host="0.0.0.0" port="6541"
doc:name="HTTP Listener Configuration"/>
</domain:mule-domain>
在 http:listener 中使用 shared-http-listener
<flow name="flow_1">
<http:listener config-ref="shared-http-listener" path=.../>
...
</flow>