【发布时间】:2016-08-27 11:28:18
【问题描述】:
我正在尝试使用context.xml 进行连接池
和web.xml。
context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/project_1">
<Resource auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxActive="100" maxIdle="30"
maxWait="10000"
name="connpool"
password="oracle11"
type="javax.sql.DataSource"
url="jdbc:oracle:thin:@localhost:1523:system"
username="system"/>
</Context>
web.xml
<resource-ref>
<description>DB Connection</description>
<res-ref-name>connpool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
连接代码
InitialContext initialContext = new InitialContext();
Context context = (Context) initialContext.lookup("java:comp/env");
// The JDBC Data source that we just created
DataSource ds = (DataSource) context.lookup("connpool");
this.con = ds.getConnection();
异常和堆栈跟踪
Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:350)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at demo.main(demo.java:27)
C:\Users\BigGoal\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
【问题讨论】:
-
您可以尝试将您的资源命名为“jdbc/connpool”而不是“connpool”吗?
标签: java web.xml context.xml