﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-kangpangpang-文章分类-数据库</title><link>http://www.blogjava.net/kangpangpang/category/12927.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 15:35:49 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 15:35:49 GMT</pubDate><ttl>60</ttl><item><title>JDBC driver is not on the CLASSPATH(weblogic)</title><link>http://www.blogjava.net/kangpangpang/articles/62881.html</link><dc:creator>小熊泡泡</dc:creator><author>小熊泡泡</author><pubDate>Thu, 10 Aug 2006 15:11:00 GMT</pubDate><guid>http://www.blogjava.net/kangpangpang/articles/62881.html</guid><wfw:comment>http://www.blogjava.net/kangpangpang/comments/62881.html</wfw:comment><comments>http://www.blogjava.net/kangpangpang/articles/62881.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/kangpangpang/comments/commentRss/62881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangpangpang/services/trackbacks/62881.html</trackback:ping><description><![CDATA[JDBC driver is not on the CLASSPATH已经说得非常清楚啦，并不是吧jar拷到weblogic\server\lib就完事啦，你还要设置CLASSPATH，在bea8.1\weblogic81\common\bin中的commEnv.cmd设置CLASSPATH，如set WEBLOGIC_CLASSPATH=%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\jds.jar;%WL_HOME%\server\lib\jdsremote.jar;%WL_HOME%\server\lib\jdsserver.jar;%WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar;%WL_HOME%\server\lib\ojdbc14.jar，用你的jar替换jds.jar，jdsserver.jar，jdsremote.jar这3个文件看看<br /><img src ="http://www.blogjava.net/kangpangpang/aggbug/62881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangpangpang/" target="_blank">小熊泡泡</a> 2006-08-10 23:11 <a href="http://www.blogjava.net/kangpangpang/articles/62881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用全局数据库连接池资源（转载）</title><link>http://www.blogjava.net/kangpangpang/articles/57432.html</link><dc:creator>小熊泡泡</dc:creator><author>小熊泡泡</author><pubDate>Mon, 10 Jul 2006 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/kangpangpang/articles/57432.html</guid><wfw:comment>http://www.blogjava.net/kangpangpang/comments/57432.html</wfw:comment><comments>http://www.blogjava.net/kangpangpang/articles/57432.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangpangpang/comments/commentRss/57432.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangpangpang/services/trackbacks/57432.html</trackback:ping><description><![CDATA[
		<p>我们希望每个应用服务器只有一个连接池的实例，在这个应用服务器上运行的所有项目都可以使用这个连接池，下面介绍这种方式在Tomcat和Resin下的配置。</p>
		<p>Tomcat使用JNDI Resource来配置各种资源，包括数据库连接池。这些Resource有两种运行范围，第一个就是Context级别，也就是说Context特有的 Resource，该Resource只能被其所属的Context访问，显然这不是我们所要的。<br />另外一种就是定义全局命名资源，然后在Context中进行引用，下面是一个配置的例子(server.xml)：</p>
		<p>&lt;Server port="8005" shutdown="SHUTDOWN"&gt;<br />  &lt;GlobalNamingResources&gt;<br />   &lt;!-- 全局有效的JDBC资源 --&gt;<br /> &lt;Resource name="jdbc/dlog" auth="Container" type="javax.sql.DataSource"<br />               maxActive="100" maxIdle="30" maxWait="10000" defaultTransactionIsolation="1" defaultAutoCommit="false"<br />               poolPreparedStatements="true" maxOpenPreparedStatements="1000" initialSize="1"<br />               username="root" password="root" driverClassName="com.mysql.jdbc.Driver"<br />               url="jdbc:mysql://localhost:3306/dlogcn?autoReconnect=true"/&gt;<br />  &lt;/GlobalNamingResources&gt;</p>
		<p>  &lt;!-- Define the Tomcat Stand-Alone Service --&gt;<br />  &lt;Service name="Catalina"&gt;</p>
		<p>    &lt;!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --&gt;<br />    &lt;Connector port="8080" maxHttpHeaderSize="8192"<br />               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />               enableLookups="false" redirectPort="8443" acceptCount="100"<br />               connectionTimeout="20000" disableUploadTimeout="true" /&gt;<br />    <br />    &lt;!-- Define the top level container in our container hierarchy --&gt;<br />    &lt;Engine name="Catalina" defaultHost="localhost"&gt;</p>
		<p>      &lt;Host name="localhost" appBase="webapps"&gt;<br /> &lt;Context path="" docBase="C:\PROJECTS\JAVA\DLOG4J_V3\webapp" reloadable="true"&gt;<br />   &lt;!-- 在Context引用全局JDBC资源 --&gt;<br />   &lt;ResourceLink name="jdbc/dlog" global="jdbc/dlog"/&gt;<br /> &lt;/Context&gt;<br />      &lt;/Host&gt;<br />      <br />    &lt;/Engine&gt;</p>
		<p>  &lt;/Service&gt;</p>
		<p>&lt;/Server&gt;</p>
		<p>相比较Tomcat来说，Resin更为简单，在Resin2中连接池的配置如下</p>
		<p>&lt;caucho.com&gt;</p>
		<p>&lt;http-server&gt;</p>
		<p>  &lt;http port='80'/&gt;<br />  <br />  &lt;servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/&gt;<br />  &lt;servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/&gt;</p>
		<p>  &lt;resource-ref res-ref-name="java:/comp/env/jdbc/dlog" res-type="javax.sql.DataSource"&gt;<br />    &lt;init-param driver-name="com.mysql.jdbc.Driver"/&gt;<br />    &lt;init-param url="jdbc:mysql://localhost:3306/dlogcn?autoReconnect=true"/&gt;<br />    &lt;init-param user="root"/&gt;<br />    &lt;init-param password="moabc"/&gt;<br />    &lt;init-param maxConnections="100"/&gt;<br />  &lt;/resource-ref&gt;</p>
		<p>  &lt;!-- default host if no other host matches --&gt;<br />  &lt;host id=''&gt;<br />  <br />    &lt;web-app id='' app-dir='C:\PROJECTS\JAVA\DLOG4J_V3\webapp' /&gt;<br />      <br />  &lt;/host&gt;</p>
		<p>&lt;/http-server&gt;<br />&lt;/caucho.com&gt;</p>
		<p>
				<br />你可以把这段配置放在web-app中，则该连接池只有对应的webapp才能访问，放在&lt;host&gt;则，host中的所有web-app都可以访问，放在&lt;http-server&gt;中，则整个resin的所有webapp都可以访问。<br />(实验过程中发现resin2的文档有误，如果res-ref-name写为jdbc/dlog，则webapp怎么都找不到这个资源，改成java:/comp/env/jdbc/dlog即可。)</p>
		<p>接下来我们就可以在应用中使用如下代码来获取连接池的DataSource实例</p>
		<p>Context initContext = new InitialContext();<br />Context envContext  = (Context)initContext.lookup("java:/comp/env");<br />DataSource ds = (DataSource)envContext.lookup("jdbc/dlog");</p>
		<p>其他的应用服务器的配置可以按照这个思路参考它的手册进行配置。应该说不管是采用何种方式，性能上不会有太大的区别，如何选择就在于你整个服务器的项目结构。</p>
		<p>另外从上面Tomcat和Resin的配置来看，尽管Resin的配置要简单于Tomcat，但是灵活性和扩展性就相对要差一些。</p>
<img src ="http://www.blogjava.net/kangpangpang/aggbug/57432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangpangpang/" target="_blank">小熊泡泡</a> 2006-07-10 10:33 <a href="http://www.blogjava.net/kangpangpang/articles/57432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>