簡體   English   中英

使用合並的數據源配置DAO工廠

[英]Configuring DAO factory with Pooled DataSource

我對使用池化數據源配置DAO工廠有一些建議。 假設它是一個JDBC DAO工廠(來自抽象工廠),並且池化的數據源是由應用服務器(例如Glassfish)配置和管理的

首次創建工廠(Singleton模式)時,它將對合並的數據源進行JNDI查找,例如從屬性文件中查找,這將在JDBC DAO工廠上設置合並的數據源。

然后,當實例化並返回具體的DAO時,是否將其傳遞給數據源引用,以便它可以檢索與數據庫的連接?

基本上,我所做的就是將該數據源封裝為一個稱為DAO的基類中的字段。 在DAO的構造函數中,您傳入所需連接的JNDI名稱。

public DAO(String jndiName) throws NamingException {
  ds = DataSourceFactory.getInstance().lookup(jndiName);
}

然后,在所有具體的類中,您都可以簡單地從DAO進行擴展,並可以根據需要使用數據源。

public concreteDAO() throws NamingException {
  super("Some JNDI Name That this DAO should know");
}

相同的DAO類還具有其他一些實用程序方法,例如清理方法,該方法可以靜默關閉ResultSet,語句和連接。 這樣,我只需要在所有方法的finally子句中添加此內容即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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