http 静态处理程序资源基本路径
http static handler resource base path
我在 mule 项目的 src/main/resources
下有一个 html 文件。如何在资源基本路径字段中提及 html 文件相对于我的项目目录的相对路径,以便 http 静态资源处理程序呈现 html 文件。我在资源库中给出了 ${app.home}/src/main/resources
但 ${app.home}
指向如下目录
/Users/xx/git/projects/.mule/apps/integration/src/main/resources/
我不确定为什么它会在 .mule/apps 目录下查找。
我的html文件在这个路径下。
/Users/xx/git/projects/integration/src/main/resources/app.html
您的 ${app.home} 指向正确的位置。不要忘记您 运行 应用程序已归档(压缩)、部署并 运行 在应用程序服务器上,这不是您在 Anypoint Studio 中的环境。
因此,当它 运行 出现时,它 运行 出现在另一个地方。您应该在这个新地方拥有所有必要的文件。为了简单起见 - 使用资源而不是文件。让应用服务器承载文件所在。
这是一个简单的例子,它显示了目录 public 中的任何静态文件(作为资源)
这是代码
<flow name="publicFilesHttpsFlow">
<http:listener config-ref="HTTPS_listner" path="/StatusESB/public/*" doc:name="HTTP"/>
<set-variable variableName="resourceName" value="#[message.inboundProperties['http.request.uri'].substring(18)]" doc:name="Variable"/>
<set-payload value="#[Thread.currentThread().getContextClassLoader().getResourceAsStream(flowVars.resourceName)]" doc:name="Set Payload"/>
</flow>
在此示例中,目录 src/main/resources/public 下的任何文件都是资源并通过部署分发到应用程序服务器,将显示为 html 页面。喜欢
我在 mule 项目的 src/main/resources
下有一个 html 文件。如何在资源基本路径字段中提及 html 文件相对于我的项目目录的相对路径,以便 http 静态资源处理程序呈现 html 文件。我在资源库中给出了 ${app.home}/src/main/resources
但 ${app.home}
指向如下目录
/Users/xx/git/projects/.mule/apps/integration/src/main/resources/
我不确定为什么它会在 .mule/apps 目录下查找。
我的html文件在这个路径下。
/Users/xx/git/projects/integration/src/main/resources/app.html
您的 ${app.home} 指向正确的位置。不要忘记您 运行 应用程序已归档(压缩)、部署并 运行 在应用程序服务器上,这不是您在 Anypoint Studio 中的环境。
因此,当它 运行 出现时,它 运行 出现在另一个地方。您应该在这个新地方拥有所有必要的文件。为了简单起见 - 使用资源而不是文件。让应用服务器承载文件所在。
这是一个简单的例子,它显示了目录 public 中的任何静态文件(作为资源)
这是代码
<flow name="publicFilesHttpsFlow">
<http:listener config-ref="HTTPS_listner" path="/StatusESB/public/*" doc:name="HTTP"/>
<set-variable variableName="resourceName" value="#[message.inboundProperties['http.request.uri'].substring(18)]" doc:name="Variable"/>
<set-payload value="#[Thread.currentThread().getContextClassLoader().getResourceAsStream(flowVars.resourceName)]" doc:name="Set Payload"/>
</flow>
在此示例中,目录 src/main/resources/public 下的任何文件都是资源并通过部署分发到应用程序服务器,将显示为 html 页面。喜欢