我们需要您的帮助,定义形成伙伴关系和商业模式的实施模式,确定关键参与者和管理替代支付伙伴的关系,制定相关战略。这一职位将负责最终的业务发展,包括筛选合作伙伴、谈判和缔结商业协议以及启动新的项目。“投机者围绕着
2021-05-27 13:01:52
在我過去工作的過程中,開發用伺服器一般都是Tomcat
資料來源的設定往往都是在applicationContext.xml中設定一個dataSource的bean
然後在部署時再修改JNDI設定
我猜是因為Tomcat的設定需要改組態檔
不像JBoss,Weblogic等伺服器在管理介面可以直接新增JNDI資料來源
也很少人去研究它的設定
最近做了個小專案,釋出版本的時候都是通過ant編譯成jar包之後丟給測試
測試是大爺,教他修改資料來源了還是當沒聽到
週末閒來無聊,看了一些Tomcat設定的教學,下面做一些總結
注:如果你的工程是直接丟在webapps下面的,server.xml中就沒有工程對應的Context節點
更新:由於之前有些設定來自網路,不太好用,作了一些更新
對每種方法作了一些個人評價
PS:以下設定在apache-tomcat-6.0.35下測試通過,可以存取資料庫
就一步,找到Tomcat的server.xml找到工程的Context節點,新增一個私有資料來源
<Context docBase="WebApp" path="/WebApp" reloadable="true" source="org.eclipse.jst.jee.server:WebApp"> <Resource name="jdbc/mysql" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/test" driverClassName ="com.mysql.jdbc.Driver" username="root" password="root" /> </Context>
優點:簡單
缺點:重用性差
分兩步
第一步, 找到Tomcat的server.xml中GlobalNamingResources節點,在節點下加一個全域性資料來源
<Resource name="jdbc/mysql" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/test" driverClassName ="com.mysql.jdbc.Driver" username="root" password="root" /> <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
第二步,找到要應用此JNDI資料來源的工程Context節點,增加對全域性資料來源的參照ResourceLink
<Context docBase="WebApp" path="/WebApp" reloadable="true"> <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> </Context>
優點:重用性,可控性
缺點:設定相對第三種方法要繁瑣一點,每個工程都得配
也分兩步
第一步
參考第二種的第一步
第二步,找到Tomcat的context.xml,在Context節點下加一個ResourceLink節點對第一步設定的資料來源進行參照
這個XML組態檔的根節點就是<Context>
<Context> <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Context>
優點:重用性,一次性到位
缺點:沒有可控性
在applicationContext.xml中加一個bean,替代原來的dataSource
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/mysql" />
type和factory的值發生變化
username=>user
url=>jdbcUrl
driverClassName=>driverClass
<Resource name="jdbc/mysql_c3p0" scope="Shareable" type="com.mchange.v2.c3p0.ComboPooledDataSource" factory="org.apache.naming.factory.BeanFactory" jdbcUrl="jdbc:mysql://localhost:3306/test" driverClass="com.mysql.jdbc.Driver" user="root" password="root" />
到此這篇關於Tomcat設定JNDI資料來源的三種方式的文章就介紹到這了,更多相關Tomcat設定JNDI資料來源內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
我们需要您的帮助,定义形成伙伴关系和商业模式的实施模式,确定关键参与者和管理替代支付伙伴的关系,制定相关战略。这一职位将负责最终的业务发展,包括筛选合作伙伴、谈判和缔结商业协议以及启动新的项目。“投机者围绕着
2021-05-27 13:01:52
游戏版本: 豪华版 游戏名称: steam 语种分类: 简体中文 商品形式: 游戏物品 * 修复BUG:修复外功技能加成无效 * 数值调整:松鼠旅馆可携带的箱子格数增加两倍 * 优化:去掉作弊检测 * 修复BUG:修复新解锁的武学绝技无
2021-05-27 13:01:47
库克明确表示道,因为当下芯片的短缺,苹果的iPad以及<em>Mac</em>也将迎来缺货状态,未来半年时间内很有可能难以买到或者说是生产出芯片。对于这一消息,无数人都感到惊讶不已,毕竟当下仅苹果一家就占据了台积电25%的产
2021-05-27 13:01:37
性能方面,<em>高通</em>骁龙888是如今旗舰芯片天花板,影像方面2颗1200万像素主摄、超广角镜头+1颗6400万长焦镜头更是堆料厚道,没有凑数镜头,且个个能打。续航方面则是4000mAH+25W有线快充+15W无线充电,这里的25W可是
2021-05-27 13:01:26
要知道,威马W6上有2个前视摄像头、4个环视摄像头、5个毫米波雷达、12个超声波雷达合计23个传感器,还有<em>高通</em>骁龙8155作为主芯片和百度云端过百万的在线算力。 实现L4级自动驾驶,真正卡住威马脖子的不是硬件配
2021-05-27 13:01:21
性能表现突出,让人眼前一亮 对于手机来说,处理器就是手机的大脑和心脏,能够为手机提供澎湃的运行动力,支撑手机实现更多功能。而iQOO Neo5 活力版使用的处理器就很不错。该款机型采用了<em>高通</em>骁龙870 旗舰级芯片,为
2021-05-27 13:01:15