最近在做一个项目使用到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了!!!! 
|