带有Tomcat 6和Eclipse的JNDI数据源

带有Tomcat 6和Eclipse的JNDI数据源,eclipse,spring,tomcat,jndi,Eclipse,Spring,Tomcat,Jndi,在Eclipse中运行数据源时,我无法让数据源与JNDI和Tomcat6一起工作。我已将context.xml添加到my/META-INF中,内容如下: <Context> <Resource name="jdbc/myDB" auth="Container" type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Dr

在Eclipse中运行数据源时,我无法让数据源与JNDI和Tomcat6一起工作。我已将context.xml添加到my/META-INF中,内容如下:

<Context>

<Resource name="jdbc/myDB" auth="Container" type="javax.sql.DataSource"
     username="root"
     password="root"
     driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/database"
     maxActive="15"
     maxIdle="7"
     validationQuery="Select 1" />
</Context>

我不明白为什么这不起作用。。。有什么想法吗?

如果我没记错的话,你应该以

<property name="jndiName" value="java:comp/env/jdbc/myDB"/>

在Spring appcontext中,将您的定义替换为:

<bean id="dataSource" 
      class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName" 
                  value="java:comp/env/jdbc/myDB"/>    
      <property name="resourceRef" 
                  value="true" /> 
</bean>

我更改了以下内容,现在它可以工作了:

在my context.xml中,使用以下内容完成了
context
标记:

<Context docBase="myApp" path="/myApp" reloadable="true" source="org.eclipse.jst.jee.server:app">

请注意
&输入URL…

确定!我已经完成了,但是现在我得到了:javax.naming.NamingException:无法创建资源实例您能在Tomcat日志中看到任何东西吗?你在lib中有mysql驱动程序吗?谢谢danny,我想我离它更近了一步,现在我得到了:javax.naming.NamingException:无法创建资源实例
<property name="jndiName" value="java:comp/env/jdbc/myDB"/>
<bean id="dataSource" 
      class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName" 
                  value="java:comp/env/jdbc/myDB"/>    
      <property name="resourceRef" 
                  value="true" /> 
</bean>
<Context docBase="myApp" path="/myApp" reloadable="true" source="org.eclipse.jst.jee.server:app">
jdbc:mysql://localhost/database?useUnicode=true&amp;characterEncoding=utf-8