DataSource

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

This page refers to a JSE javax.sql.DataSource. The DataSource is part of JDBC and it is the main interface exposed by the javax.sql package. DataSource is part of JSE since 1.4. JDBC specifies that a database Connection can be obtained from a DriverManager or a DataSource. The DataSource is the preferred way of getting the Connection. JEE also mentions DataSource, defining it as a resource manager connection factory for java.sql.Connection objects.

DataSource Instance Initialization

A DataSource instance can be injected by annotating a field or a method of a JEE component with the JEE @javax.annotation.Resource annotation:

import javax.sql.DataSource;

...

@Resource(name="java:/DefaultDS")
DataSource ds;

@Resource(name="java:/DefaultDS")
public void setDataSource(DataSource ds) {
   this.ds = ds;
}

For more details on attributes supported by the @Resource annotation see:

@javax.annotation.Resource

A DataSource can also be looked up in JNDI:

import javax.sql.DataSource;

...

DataSource ds = (DataSource)ic.lookup("java:/DefaultDS");

Connection Life Cycle

import java.sql.Connection;

...

DataSource ds;

Connection c;

try {

  c = ds.getConnection();
  
  ...

}
finally {

  if (c != null) {

      c.close();
  }
}

TODO