在servlet之间共享连接池

时间:2014-02-20 12:39:31

标签: java servlets connection-pooling

我想在servlet之间共享数据库连接。

我创建了连接池,并获得了像这样的

的dataSource对象
Context envContext  = (Context)context.lookup("java:/comp/env");
dataSource = (DataSource)envContext.lookup("jdbc/limedb");

现在,我想在servlet之间共享这个dataSource对象,这样每个servlet都可以做到

connection = dataSource.getConnection();

获得自己的连接。

实现这一目标的最佳方法是什么?我想在应用程序启动时创建池并将其存储在某个地方......

1 个答案:

答案 0 :(得分:1)

实际上有几种方法可以做到这一点。

  1. 您可以使用依赖注入框架来管理这些 连接给你。在幕后它会使用一个对象池。
  2. 您可以创建一个单独的对象来管理包含数据源的对象池。
  3. 您可以编写包含为您返回连接的代码的单例,这样您就不必知道您正在使用数据源。
  4. 这完全取决于用例,您对java的熟悉程度,应用程序的整体设计等等。