在项目的META-INF里面定义了数据源,如下 
<Resource name="db" auth="Container" 
    type="com.mchange.v2.c3p0.ComboPooledDataSource" 
    driverClass="com.mysql.jdbc.Driver" 
    jdbcUrl="jdbc:mysql://192.168.0.2/ipm" 
    user="ipm" 
    password="guet" 
    factory="org.apache.naming.factory.BeanFactory" 
    maxPoolSize="50" 
    minPoolSize="5" 
    initialPoolSize="5" 
    acquireIncrement="5" 
    idleConnectionTestPeriod="600" 
    maxIdleTime="600" 
/> 在applicationContext的配置 
<bean id="myDateSource" 
class="org.springframework.jndi.JndiObjectFactoryBean"> 
<property name="jndiName" value="java:comp/env/db" /> 
</bean> 一直都没问题。 
在我将tomcat6/config/下的server.xml做了修改以后修改情况如下 
由于原来的(默认设置) <Engine name="Catalina" defaultHost="localhost"> 
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
            resourceName="UserDatabase"/> 
      <Host name="localhost"  appBase="webapps" 
            unpackWARs="true" autoDeploy="true" 
            xmlValidation="false" xmlNamespaceAware="false"> 
      </Host> 
</Engine> 
改为如下: 
<Engine name="Catalina" defaultHost="www.ipm.com"> 
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
            resourceName="UserDatabase"/> 
<Host name="www.ipm.com"  appBase="/" 
            unpackWARs="true" autoDeploy="true" 
            xmlValidation="false" xmlNamespaceAware="false"> 
<Context path="" docBase="D:\work\ipm\WebRoot" reloadable="true" crossContext="true"> 
</Context> 
      </Host> 
</Engine> 
修改后运行 
提示 javax.naming.NameNotFoundException: Name db is not bound in this Context 也就是在spring 的applicationContext找不到数据源了

解决方案 »

  1.   

    这么改一下试试
    server.xml中把<Context path="" docBase="D:\work\ipm\WebRoot" reloadable="true" crossContext="true">
    </Context> 移动到META-INF的context.xml中
    <Context path="" docBase="D:\work\ipm\WebRoot" reloadable="true" crossContext="true">
    <Resource ......
    </Context> 
      

  2.   

    回FityWang,之前都可以用的就改了server.xml 
    回Landor2004,按你说的办连项目都不加载了。不知道是否还要在哪个地方做修改? 
      

  3.   

    不会吧,呵呵
    http://hi.baidu.com/landor2004/blog/item/17d528366cf288370a55a93b.html
    先这么测试一下,然后再挂上域名
      

  4.   

    <res-ref-name>JDBC/TestDB</res-ref-name> 该配置是大小写敏感的。大小写一定要完全匹配