【发布时间】:2011-01-09 01:29:38
【问题描述】:
我的配置文件
项目/WEB-INF/web.xml:
<resource-ref>
<description>ConnectionPool DataSource Reference</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
项目/WEB-INF/jetty-env.xml:
<New id="mysql" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>jdbc/mysql</Arg>
<Arg>
<New class="org.apache.commons.dbcp.BasicDataSource">
<Set name="driverClassName">com.mysql.jdbc.Driver</Set>
<Set name="url">jdbc:mysql://localhost:3306/db</Set>
<Set name="username">user</Set>
<Set name="password">pwd</Set>
<Set name="maxActive">50</Set>
</New>
</Arg>
</New>
要调用的代码:
ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
con=ds.getConnection();
启动码头的脚本:
java -DOPTIONS=plus -jar start.jar
java -jar start.jar
无论哪种方式启动码头,我都收到以下错误:
javax.naming.NameNotFoundException; remaining name 'env/jdbc/mysql'
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:632)
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:663)
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:678)
at org.eclipse.jetty.jndi.java.javaRootURLContext.lookup(javaRootURLContext.java:110)
at javax.naming.InitialContext.lookup(Unknown Source)
问题是:
- 这里有什么问题?
- 还需要其他配置吗?
- 以下 jar 文件的放置位置:
- commons-dbcp-1.2.2.jar
- mysql-connector-java-5.1.10-bin.jar
谢谢!
【问题讨论】:
-
"remaining name 'env" 似乎暗示找不到整个环境。 jetty-env.xml 完全加载了吗?也许您需要将其添加到 -DOPTIONS 或其他内容中?
标签: java mysql jdbc jetty connection-pooling