最近在做一個項目使用到tomcat裏的datasource,因爲要在jbuilder中調試啓動tomcat,配置這個是一個問題,因爲當你建立一個工程,一些配置文件在運行期纔會產生;
例如:新建一個工程-TestDemo,啓動tomcat時會在工程目錄下的tomcat/conf/ 產生server808X.xml臨時文件(根據端口不同產生),同時會在工程目錄下的tomcat/webapp/下產生jb--TestDemo.xml臨時文件(當然是依據工程名產生的),並同時加載這兩個文件,還要加載一個工程目錄下的tomcat/webapp/jb--default.xml。
你的配置選項必須寫在server808x.xml文件中;
自動產生如下:
server8080.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!--This comment marks this file as generated, so it may be deleted and regenerated at any time. To preserve manual changes to this file, delete this comment.-->
<Server debug="0" port="8081" shutdown="SHUTDOWN">
<Service name="Tomcat-Standalone">
<Connector acceptCount="10" className="org.apache.coyote.tomcat4.CoyoteConnector" connectionTimeout="60000" debug="0" maxProcessors="75" minProcessors="5" port="8080"/>
<Engine debug="0" defaultHost="localhost" name="Standalone">
<Host appBase="F:/TestDemo/Tomcat/webapps" debug="0" name="localhost" unpackWARs="true"/>
</Engine>
</Service>
</Server>
文檔寫的很清楚,你要手動配置,請把註釋刪除既可(這樣就不自動產生了,也不會刪除),
現在我們要把配置參數寫到這裏面:寫好的文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<Server debug="0" port="8081" shutdown="SHUTDOWN">
<Service name="Tomcat-Standalone">
<Connector acceptCount="10" className="org.apache.coyote.tomcat4.CoyoteConnector" connectionTimeout="60000" debug="0" maxProcessors="75" minProcessors="5" port="8080"/>
<Engine debug="0" defaultHost="localhost" name="Standalone">
<DefaultContext>
<Resource auth="Container" name="jdbc/achieve" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/achieve">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.9.100.252:1433;databasename=achievement</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>sa</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>30</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
</ResourceParams>
</DefaultContext>
<Host appBase="F:/TestDemo/Tomcat/webapps" debug="0" name="localhost" unpackWARs="true"/>
</Engine>
</Service>
</Server>
然後保存,在jbuilder 中run,可以使用jndi找到datasource了!!!!