[英]How to configure datasource jboss 4.2.3 for a jar library that initialize connection in the default context?
我們有一個jar庫util,它管理與db的連接的一些邏輯並將數據存儲在內存中。 好的,這在tomcat中可以正常工作,因為我們可以在$ CATALINA_HOME / conf / context.xml中配置數據源,並且一切正常。
我如何在jboss(4.2.3.GA)中配置數據源,所有部署的戰爭,耳朵或應用程序都可以看到,當然,這個jar util部署在$ JBOSS_HOME / server / < 實例 > / lib中?
謝謝 :)
更新:
我特別想做:
“ 2a。共享資源配置
如果您希望定義一個在多個JBoss Web應用程序之間共享的數據源,或者僅希望在此文件中定義數據源,請使用此選項。
盡管沒有其他人報道,但該作者在這里沒有取得成功。 澄清在這里將不勝感激 。
<Resource name="jdbc/postgres" auth="Container"
type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://127.0.0.1:5432/mydb"
username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/>
來源: https : //docs.jboss.org/jbossweb/2.1.x/jndi-datasource-examples-howto.html
好吧,我參與了“ 澄清,請在這里進行 ” ...
創建一個JBoss數據源
將數據源配置(* -ds.xml文件)添加到$ JBOSS_HOME / sever / < 服務器名稱 > / deploy目錄中。
這個StackOverflow答案有更多詳細信息: 如何在JBoss應用程序服務器中創建數據源。
該鏈接適用於JBoss 5,但我認為4.2.3和5之間的數據源配置沒有太大變化。
配置Tomcat資源參考
配置Tomcat資源引用以指向JBoss數據源。 此配置將通過JNDI名稱標識數據源,以便從JBoss數據源檢索連接。
這個StackOverflow問題的可接受答案的步驟1有更多詳細信息: JNDI路徑Tomcat與Jboss
請注意,您的Resource配置正在定義新的數據源,而不是重用JBoss定義。
使用JNDI查找數據源
相同的答案解釋了如何執行此操作,但是請注意,URI是根據是從EJB容器之外的客戶端代碼中還是從EJB容器中的代碼完成查找而略有不同。
好的,這使我花了大約一個星期的研究時間:
創建一個* -ds.xml文件。
在數據源定義中,添加以下標記:
< use-java-context > false < / use-java-context >
然后,在Java代碼中,我們可以這樣稱呼它:
Properties env = new Properties(); env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); env.setProperty(Context.PROVIDER_URL, "localhost:1100"); initialContext = new InitialContext(env); DataSource datasource = (DataSource) initialContext.lookup("myCustomDs");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.