在 Spring 配置中使用 Mule 表达式
我正在设置一个 Mule 应用程序,在其中,我想使用 Spring bean 来连接 EHCache 和 JDBC 连接。我不想将配置信息放在我创建的每个 Mule 应用程序中,而是想使用位于 $mule_home/conf 的属性文件。
我知道如何使用 Mule 表达式访问 Mule 主目录(#[mule:context.homeDir]
),但是当我尝试将该表达式放入我链接的 context.xml 文件中时我的 mule 应用程序配置,并启动服务器,我得到一个
java.io.FileNotFoundException: #[mule:context.homeDir]\conf\jdbc.properties (系统找不到指定的路径)
甚至如果我在 mule 配置中创建一个单独的属性 ${homeDir}
,其值为 #[mule:context.homeDir]
它会给我同样的错误,除了${homeDir}
无法解析。
我已经打开日志记录,可以看到它连接了属性 ${homeDir}
,但属性占位符似乎不想解析它。我已经尝试过这两种方法并使用 PropertyPlaceholderConfigurer 类的原始 bean:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:#[mule:context.homeDir]/conf/jdbc.properties</value>
<value>file:#[mule:context.homeDir]/conf/standalone-ehcache.conf</value>
<value>classpath:gateway.properties</value>
</list>
</property>
</bean>
I'm setting up a Mule application and in it, I wanted to use Spring beans to wire up an EHCache and JDBC connection. Instead of putting the configuration information in each Mule application I create, I wanted to use a properties file which would be located at $mule_home/conf.
I know how to use a Mule expression to access the Mule home directory(#[mule:context.homeDir]
) but when I attempt to put that expression inside my context.xml file, which I link in my mule application configuration, and start up the server, I get a
java.io.FileNotFoundException: #[mule:context.homeDir]\conf\jdbc.properties (The system cannot find the path specified)
Even if I create a seperate property in the mule configuration, ${homeDir}
which has a value of #[mule:context.homeDir]
it gives me the same error, except with ${homeDir}
as being unable to resolve.
I've turned logging up and can see it wiring up the property ${homeDir}
, but it seems the the property-placeholder does not want to resolve it. I've tried both and using a raw bean of the class of PropertyPlaceholderConfigurer:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:#[mule:context.homeDir]/conf/jdbc.properties</value>
<value>file:#[mule:context.homeDir]/conf/standalone-ehcache.conf</value>
<value>classpath:gateway.properties</value>
</list>
</property>
</bean>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
${MULE_HOME}/conf 位于 Mule 的类路径中,因此以下内容应该有效:
${MULE_HOME}/conf is on Mule's classpath so the following should work: