簡體   English   中英

如何為在默認上下文中初始化連接的jar庫配置數據源jboss 4.2.3?

[英]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容器中的代碼完成查找而略有不同。

好的,這使我花了大約一個星期的研究時間:

  1. 創建一個* -ds.xml文件。

  2. 在數據源定義中,添加以下標記:

< use-java-context > false < / use-java-context >

  1. 然后,在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM