gpt4 book ai didi

eclipse - JNDI 数据源与 Tomcat 6 和 Eclipse

转载 作者:行者123 更新时间:2023-11-28 21:45:45 28 4
gpt4 key购买 nike

在从 Eclipse 运行时,我无法让我的数据源与 JNDI 和 Tomcat 6 一起工作。我已将 context.xml 添加到我的/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>

然后如下配置我的 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 中字符 & 导致了 Cannot create resource 错误,不知道为什么,所以我现在的 URL 是这样的:

jdbc:mysql://localhost/database?useUnicode=true&amp;characterEncoding=utf-8

请注意 URL 中的 &...

关于eclipse - JNDI 数据源与 Tomcat 6 和 Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6344935/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com