繁体   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