用gwt開發,部署環境使用的是jndi, 而gwt 1.6自帶的jetty缺省是不支持jndi設置的。
1.? copy? jetty-naming-6.1.11.jar jetty-plus-6.1.11.jar兩個文件到 war/WEB-INF/lib目錄下去。
這步一定注意,單純把jar文件加到項目的classpath是無用的,其他類都可以從項目的classpath裝載,這兩個類不可以。
另外gwt 1.6自帶的jetty是6.1.12以下版本的,所以只能用6.1.11.
2.? 在web-inf下創建一個 jetty-web.xml . 我用的是oracle, 使用oracle自帶的連接池就可以了。 如果用h2的話, 應該可以使用spring的singleConnectionDatasource, 稍后再試。
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
??? <New id="REPORT" class="org.mortbay.jetty.plus.naming.Resource">
??? ??? <Arg>jdbc/reportdb</Arg>
??? ??? <Arg>
??? ??? ??? <New class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
??? ??? ??? ??? <Set name="URL">jdbc:oracle:thin:@localhost:1521:oralce10
??? ??? ??? ??? </Set>
??? ??? ??? ??? <Set name="User">reportdb</Set>
??? ??? ??? ??? <Set name="Password">reportdb</Set>
??? ??? ??? </New>
??? ??? </Arg>
??? </New>
</Configure>
第一個問題搞死人了:(