2012-06-08 28 views
0
ExecutorService es = Executors.newSingleThreadExecutor(); 
Class1 class = new Class(); 
es.execute(class); 

Class1实现可调用的db连接/类的代码,其中dbconnection存在。如何使一个DB连接类成为一个Singleton?

问题是,每次调用Class1时,都会创建db连接并将其重载到系统。所以,我可以改为只有dbconnection类的实例,这使得我不会每次创建连接。

回答

1

如果所有客户端都打开一个静态连接并保持打开状态直到应用程序生命周期。在这种情况下,SQL Server将无法允许在达到阈值后创建新的连接。

因此,建议在需要时创建连接,并在工作完成时关闭它。

通过使用连接池,您可以每次保存处理和创建连接的时间。

+0

Connection est ..每次都是一个昂贵的过程。相反,我可以有单身数据库连接器对象,从中我可以访问jsut实例 – sreekanthnu

0

如果您的应用程序在Glassfish(也可能是Tomcat)等应用程序服务器上运行,您可能需要尝试db连接池 - 它们处理连接的使用和重用非常好。

撇开这一点,最好在使用完成后始终关闭连接。