Tomcat context.xml在Spring的应用程序上下文中访问的参数声明

时间:2016-05-17 23:06:04

标签: java spring tomcat applicationcontext context.xml

我们的一个应用程序在Tomcat的context.xml中声明了一些参数:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Parameter name="defaultSchema" override="true" value="demo"/>
    <Resource 
         auth="Container" 
         description="DB Connection for Local Jazzee" 
         driverClassName="oracle.jdbc.OracleDriver" 
         . . .
    />
</Context>

然后在Spring的applicationContext.xml中,我们可以在实例化一些bean时使用该参数:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.default_schema">${defaultSchema}</prop>
            . . . 
</bean>

这很好。

我遇到的问题是我试图在另一个应用程序中复制它,但它无法正常工作。当我尝试启动应用程序时,我收到错误:

Invalid bean definition with name 'sessionFactory' defined in class path resource [db/applicationContext.xml]: Could not resolve placeholder 'defaultSchema'

在这两种情况下,它都是相同的开发人员Tomcat实例,因此Tomcat版本是相同的。 Spring库版本看起来也是一样的。此外,如果我在应用程序上下文中对模式名称进行硬编码,则可以正常工作。所以dataSource很好。

关于可能破坏此功能的任何想法?

0 个答案:

没有答案