2012-11-30 52 views
0

这是我得到的异常:问题的背景,文件配置Tomcat 7 JDNI数据源

Error creating bean with name 'jndiDataSource' defined in class path resource [spring/database.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name [connection_pool] is not bound in this Context. Unable to find [connection_pool]

这是我的数据源豆:

<bean id="jndiDataSource" 
     class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="connection_pool" /> 
</bean> 

这是我的背景文件MyApp##1.0.2.xml我投入tomcat7/conf/Catalina/localhost

<?xml version="1.0" encoding="UTF-8"?> 
<Context docBase="path\to\war\my-app-1.0.2.war" 
    antiResourceLocking="false" privileged="true" > 

<Resource name="connection_pool" 
      url="jdbc:mysql://localhost:3306/db_name" 
      driverClassName="com.mysql.jdbc.Driver" 
      username="username" password="password" 
      auth="Container" type="javax.sql.DataSource" 
      maxActive="100" maxIdle="30" maxWait="10000" /> 

</Context> 

有没有人有任何想法,为什么这不工作?

+0

只是猜测这里,但你有没有尝试过没有名字的下划线? – GreyBeardedGeek

+0

我只是这样做,它仍然无法正常工作... – Gevorg

+0

看看这个问题的接受答案:http://stackoverflow.com/questions/9183321/how-to-use-jndi-datasource-provided-by -Tomcat式弹簧 – GreyBeardedGeek

回答

0

尝试此相反,它应该提供正确的配置:

<jee:jndi-lookup id="myDataSource" jndi-name="java:connection_pool" />