带有Tomcat 6和Eclipse的JNDI数据源

问题描述

| 从Eclipse运行它时,我的DataSource无法与JNDI和Tomcat 6一起使用。我已经在我的/ META-INF中添加了context.xml并包含以下内容:
<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>
并将我的Spring Bean配置如下:
<bean id=\"UserDatabase\" class=\"org.springframework.jndi.JndiObjectFactoryBean\">
    <property name=\"jndiName\" value=\"jdbc/myDB\"></property>
    <property name=\"lookupOnStartup\" value=\"true\"></property>
    <property name=\"cache\" value=\"true\"></property>
    <property name=\"proxyInterface\" value=\"javax.sql.DataSource\"></property>
</bean>
我还将此行添加到了我的web.xml中:
<resource-ref>
    <description>Connection Pool</description>
    <res-ref-name>jdbc/myDB</res-ref-name>
    <res-type>javax.sql.Datasource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>
但是由于某种原因,我仍然会收到此错误:
javax.naming.NameNotFoundException: The name jdbc is not associated to this context
at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:152)
我不明白为什么这行不通...有什么主意吗?     

解决方法

        我更改了以下内容,现在可以使用: 在我的context.xml中,使用以下命令完成了
Context
标记:
<Context docBase=\"myApp\" path=\"/myApp\" reloadable=\"true\" source=\"org.eclipse.jst.jee.server:app\">
并且在连接URL中,字符“ 6”引起了“ 7”错误,不知道为什么,所以我的URL现在像这样:
jdbc:mysql://localhost/database?useUnicode=true&amp;characterEncoding=utf-8
请注意网址中的
&amp;
int ...     ,        如果我没记错的话,您应该以
<property name=\"jndiName\" value=\"java:comp/env/jdbc/myDB\"/>
    ,        在Spring应用程序上下文中,将您的定义替换为:
<bean id=\"dataSource\" 
      class=\"org.springframework.jndi.JndiObjectFactoryBean\">
      <property name=\"jndiName\" 
                  value=\"java:comp/env/jdbc/myDB\"/>    
      <property name=\"resourceRef\" 
                  value=\"true\" /> 
</bean>
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...