无法从JBboss的standalone \ configuration文件夹加载属性

时间:2015-05-01 19:15:04

标签: spring properties configuration jboss

我正在将应用程序从Websphere迁移到JBoss 6.3。我们使用从IBM WebSphere中的环境变量中选择一些值,而在JBoss中,我已将这些值添加到属性文件中并保存在文件夹<jboss_install>\standalone\configuration中。

并更新了Program参数中的文件位置,例如:-DenvironmentDir=C:/jboss-eap-6.3/standalone/configuration/Environment.properties

然后使用Spring Framework配置查找Environment文件中定义的值:

<context:property-placeholder location="file:${environmentDir}" />

<bean id="tibConnectionFactory"     class="com.tibco.tibjms.TibjmsQueueConnectionFactory">
<property name="serverUrl"><value>${OE.MESSAGING.SERVER.URL}</value>         </property>
<property name="userName">  <value>${${app.cfg}.${app}.${jms.provider}.username}</value></property> 
<property name="userPassword">  <value>${${app.cfg}.${app}.${jms.provider}.password}</value></property>
</bean>

但是当我启动服务器时,我得到以下异常:

14:31:31,764 ERROR [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 51) Context initialization failed: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'tibConnectionFactory' defined in ServletContext resource [/WEB-INF/spring/config/spring-jms.xml]: Could not resolve placeholder 'OE.MESSAGING.SERVER.URL' in string value "${OE.MESSAGING.SERVER.URL}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'OE.MESSAGING.SERVER.URL' in string value "${OE.MESSAGING.SERVER.URL}"
    at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:211) [spring-beans-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.processProperties(PropertySourcesPlaceholderConfigurer.java:180) [spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.postProcessBeanFactory(PropertySourcesPlaceholderConfigurer.java:155) [spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:265) [spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:162) [spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) [spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) [spring-context-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) [spring-web-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) [spring-web-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [spring-web-4.0.6.RELEASE.jar:4.0.6.RELEASE]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:161) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
    at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:59) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
    at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:94) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_75]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_75]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'OE.MESSAGING.SERVER.URL' in string value "${OE.MESSAGING.SERVER.URL}"

任何人都可以帮忙吗?

0 个答案:

没有答案